        (0x00C => IAR: ReadWrite<u32, IAR::Register>),
        (0x010 => EOIR: ReadWrite<u32, EOIR::Register>),
        (0x014  => @END),
    }
}

type Registers = MMIODerefWrapper<RegisterBlock>;

pub struct GICC {
    registers: InitStateLock<Registers>,
}

impl GICC {
    pub const unsafe fn new(mmio_start_addr: usize) -> Self {
        Self {
            registers: InitStateLock::new(Registers::new(mmio_start_addr)),
        }
    }

    pub unsafe fn set_mmio(&self, new_mmio_start_addr: usize) {
        self.registers
            .write(|regs| *regs = Registers::new(new_mmio_start_addr));
    }

    pub fn priority_accept_all(&self) {
        self.registers.read(|regs| {
            regs.PMR.write(PMR::Priority.val(255)); // Comment in arch spec.
        });
    }

    pub fn enable(&self) {
        self.registers.read(|regs| {
            regs.CTLR.write(CTLR::Enable::SET);
        });
    }

    pub fn pending_irq_number<'irq_context>(
        &self,
        _ic: &exception::asynchronous::IRQContext<'irq_context>,
    ) -> usize {
        self.registers
            .read(|regs| regs.IAR.read(IAR::InterruptID) as usize)
    }

    pub fn mark_completed<'irq_context>(
        &self,
        irq_number: u32,
        _ic: &exception::asynchronous::IRQContext<'irq_context>,
    ) {
        self.registers.read(|regs| {
            regs.EOIR.write(EOIR::EOIINTID.val(irq_number));
        });
    }
}
<gh_stars>0
#[deriving(Clone)]
pub enum CellValue {
  alive, dead
}  // enum CellValue

#[deriving(Clone)]
pub struct Cell {
  value: CellValue
}  // struct Cell

impl Cell {
fn print(&self) {
  match self.value {
    alive => print!("x"),
    dead  => print!(".")
  }
}  // fn print
}  // impl Cell

pub struct Row(uint);
pub struct Column(uint);

#[deriving(Clone)]
pub struct Grid {
  inner: ~[~[Cell]]
} // struct Grid

impl Grid {
pub fn print(&self) {
  for row in range(0, self.height()) {
    for column in range(0, self.width()) {
      self.inner[row][column].print();
    }
    println!("");
  }
}  // fn print

pub fn cell_alive(&self, Row(row): Row, Column(column): Column) -> uint {
  if row >= self.height() || column >= self.width() {
    return 0;
  }
  return match self.inner[row][column].value {
   dead  => 0,
   alive => 1
  };
}

pub fn width(&self) -> uint {
  return self.inner[0].len();
}  // fn width

pub fn height(&self) -> uint {
  return self.inner.len();
}  // fn height

}  // impl Grid
//
// Copyright 2020 The Project Oak Authors
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//

use crate::config::parse_config_


using Quartz;
using Quartz.AspNetCore;
using System.Diagnostics.CodeAnalysis;
using System.Reflection;
using XinjingdailyBot.Infrastructure;
using XinjingdailyBot.Infrastructure.Attribute;

namespace XinjingdailyBot.WebAPI.Extensions;

/// <summary>
/// Telegram扩展
/// </summary>
public static class TaskExtension
{
    private static readonly NLog.Logger _logger = NLog.LogManager.GetCurrentClassLogger();

    /// <summary>
    /// 注册定时任务
    /// </summary>
    /// <param name="services"></param>
    /// <param name="configuration"></param>
    [RequiresUnreferencedCode("不兼容剪裁")]
    public static void AddQuartzSetup(this IServiceCollection services, IConfiguration configuration)
    {
        var scheduleConfig = configuration.GetSection("Schedule").Get<OptionsSetting.ScheduleOption>();
        var cron = scheduleConfig?.Cron ?? [];

        var tasks = Assembly.Load("XinjingdailyBot.Tasks").GetTypes();
        if (tasks == null)
        {
            return;
        }

        services.Configure<QuartzOptions>(options => {
            options.Scheduling.IgnoreDuplicates = true;
            options.Scheduling.OverWriteExistingData = true;
        });

        services.AddQuartz(qz => {
            //qz.UseMicrosoftDependencyInjectionJobFactory();

            _logger.Debug("===== 注册定时任务 =====");
            uint count = 0;
            foreach (var jobType in tasks)
            {
                var jobAttribut


0 1.403-.433 2.496-1.3 3.277-.868.776-1.918 1.164-3.153 1.164a4.431 4.431 0 01-1.601-.277c-.474-.185-.973-.5-1.5-.95V89H48.28V77.395h2.621v1.236c.34-.422.803-.766 1.383-1.03a4.606 4.606 0 011.93-.396zm10.73 0c1.58 0 2.827.414 3.742 1.242.914.823 1.352 2.089 1.312 3.793h-7.047c.02.66.248 1.174.682 1.543.433.364.974.547 1.62.547.441 0 .81-.095 1.11-.285.3-.19.528-.496.682-.918l2.803.371a3.844 3.844 0 01-1.711 1.861c-.774.423-1.745.633-2.912.633-1.849 0-3.218-.478-4.106-1.433-.7-.766-1.049-1.73-1.049-2.897 0-1.393.46-2.483 1.381-3.27.92-.791 2.085-1.187 3.492-1.187zm.17 1.703c-.615 0-1.122.176-1.522.53-.4.353-.597.834-.59 1.44h4.203c-.02-.643-.229-1.131-.629-1.464-.4-.338-.889-.506-1.463-.506zm-11.659.055c-.687 0-1.26.21-1.713.633-.454.417-.68 1.036-.68 1.86 0 .944.238 1.645.711 2.099.474.448 1.05.672 1.73.672.655 0 1.2-.206 1.634-.618.433-.417.65-1.098.65-2.043 0-.88-.225-1.535-.672-1.962-.447-.428-1-.641-1.66-.641zm-10.639 2.803c-.36.095-.932.208-1.712.34-.781.131-1.29.26-1.53.386-.367.206-.55.469-.55.785 0 .312.145.58.439.807.293.227.667.34 1.121.34.507 0 .993-.13 1.453-.395.34-.2.561-.446.668-.736.073-.19.111-.553.111-1.086v-.441z" color="currentColor"/><path fill="currentColor" d="M49.87 18.951c-2.061.008-2.868.072-4.077.328-6.482 1.374-11.417 4.67-14.963 10.002-2.706 4.07-3.83 8.013-3.83 13.377 0 4.796 1.091 8.482 3.629 12.23 4.179 6.174 9.485 9.271 17.225 10.069 1.828.189 5.452.091 7.056-.2 2.615-.473 5.807-1.758 7.95-3.202 4.11-2.772 7.72-8.067 9.245-13.493 1.218-4.333 1.195-8.968-.08-12.935-2.271-7.069-8.21-12.184-15.927-13.756-1.945-.396-5.547-.54-7.43-.289-.684.09-1.526.2-1.863.242-.425.052-.79.158-1.08.385-.302.236-.465.6-.465.979 0 .294.085.648.386.978.286.314.74.682 1.596 1.38.722.59 1.462 1.249 1.774 1.552l-.11.017c-1.702.266-3.86.814-5.861 1.487-.49.164-.94.312-1.266.412l-.039.


odeUInt8
import com.divpundir.mavlink.serialization.truncateZeros
import kotlin.Byte
import kotlin.ByteArray
import kotlin.Float
import kotlin.Int
import kotlin.UByte
import kotlin.UInt
import kotlin.Unit

/**
 * Illuminator status
 *
 * @param uptimeMs Time since the start-up of the illuminator in ms
 * units = ms
 * @param enable 0: Illuminators OFF, 1: Illuminators ON
 * @param modeBitmask Supported illuminator modes
 * @param errorStatus Errors
 * @param mode Illuminator mode
 * @param brightness Illuminator brightness
 * units = %
 * @param strobePeriod Illuminator strobing period in seconds
 * units = s
 * @param strobeDutyCycle Illuminator strobing duty cycle
 * units = %
 * @param tempC Temperature in Celsius
 * @param minStrobePeriod Minimum strobing period in seconds
 * units = s
 * @param maxStrobePeriod Maximum strobing period in seconds
 * units = s
 */
@GeneratedMavMessage(
  id = 440u,
  crcExtra = 66,
)
public data class IlluminatorStatus(
  /**
   * Time since the start-up of the illuminator in ms
   * units = ms
   */
  @GeneratedMavField(type = "uint32_t")
  public val uptimeMs: UInt = 0u,
  /**
   * 0: Illuminators OFF, 1: Illuminators ON
   */
  @GeneratedMavField(type = "uint8_t")
  public val enable: UByte = 0u,
  /**
   * Supported illuminator modes
   */
  @GeneratedMavField(type = "uint8_t")
  public val modeBitmask: MavEnumValue<IlluminatorMode> = MavEnumValue.fromValue(0u),
  /**
   * Errors
   */
  @GeneratedMavField(type = "uint32_t")
  public val errorStatus: MavBitmaskValue<IlluminatorErrorFlags> = MavBitmaskValue.fromValue(0u),
  /**
   * Illuminator mode
   */
  @GeneratedMavField(type = "uint8_t")
  public val mode: MavEnumValue<IlluminatorMode> = MavEnumValue.fromValue(0u),
  /**
   * Illuminator brightness
   * units = %
   */
  @GeneratedMavField(type = "float")
  public val brightness: Float = 0F,
  /**
   * Illuminator strobing period in seconds
   * units = s
   */
  @GeneratedMavField(type = "float")
  public val strobePeriod: Float = 0F,
  /**
   * Illuminator strobing duty cycle
   * units = %
   */
  @GeneratedMavField(type = "float")
  public val strobeDutyCycle: Float = 0F,
  /**
   * Temperature in Celsius
   */
  @GeneratedMavField(type = "float")
  public val tempC: Float = 0F,
  /**
   * Minimum strobing period in seconds
   * units = s
   */
  @GeneratedMavField(type = "float")
  public val minStrobePeriod: Float = 0F,
  /**
   * Maximum strobing period in seconds
   * units = s
   */
  @GeneratedMavField(type = "float")
  public val maxStrobePeriod: Float = 0F,
) : MavMessage<IlluminatorStatus> {
  override val instanceCompanion: MavMessage.MavCompanion<IlluminatorStatus> = Companion

  override fun serializeV1(): ByteArray {
    val encoder = MavDataEncoder(SIZE_V1)
    encoder.encodeUInt32(uptimeMs)
    encoder.encodeBitmaskValue(errorStatus.value, 4)
    encoder.encodeFloat(brightness)
    encoder.encodeFloat(strobePeriod)
    encoder.encodeFloat(strobeDutyCycle)
    encoder.encodeFloat(tempC)
    encoder.encodeFloat(minStrobePeriod)
    encoder.encodeFloat(maxStrobePeriod)


ggh, fitaq, rxxft, jkmzstd, xiuxqpp, qvdkqw
satjbta (241) -> jzzng, kirybeg
hgnkw (9) -> osbaf, wfinqez, oksum
mqtksj (281) -> nrneucv, zqkhpn
ghzsq (97) -> pzpwzpp, lmdteh
muiela (120) -> jrqht, eepyf, njqjd
xhkbihe (169)
biqeev (68)
mjxqlx (15)
vjikgc (61)
ncsro (109) -> cpdapys, niphm
eadol (72)
ywshnoc (19)
appwc (74) -> eyqpybt, unwpat, cmpldn
vkbpp (23)
nlknxtv (9) -> qweyg, nbidkx
kdnrfhs (454)
ppakqms (41)
wiuxjsd (249) -> rgdsxy, mpunhg
owzsiku (52) -> zvhjz, oyhgs
jlzlxib (48)
qyrope (62) -> yrucl, ldxqsu, oihlb, eblyrp
nqobvf (66)
rjzmzv (72)
hizhauj (72)
utydsr (37)
mdwrg (122) -> hutkx, hbdsnvx, xtgrt, fzqhw
dxmuy (19)
dugorw (80)
jjqpm (23)
ninnxgi (258)
nqgfa (24)
zpzdnz (62)
juflvu (85) -> rnrxeb, wbmahc, tmzut
cqhgy (48)
xezjpye (862) -> bswzafr, pdumcu, vdppt
lrvwrl (85)
cdlqgyh (291)
hyhvgle (19)
wzzey (54)
hhgop (49)
rdcew (31)
rxoja (18)
dlmmqrm (41)
kvmxfku (54)
ayqsng (18)
niphm (39)
nxrhbhh (87) -> lmvbhm, orwwh
fpejk (10)
sfvfge (292) -> kvrmjma, rvshkx
gdkka (44)
smhbvd (263) -> qalkey, rkujtq
ieebgv (85) -> jcortpe, fslbtk
clnzh (254)
fluqhsw (88)
igwetl (68)
dhnttwg (72)
gcsiaut (41)
hgignr (56)
yywuo (21)
pzgagh (17)
cnrznxh (49)
cgyxd (84)
yheme (192) -> isvfqpy, qopbuhe
iftzv (258)
wknjhvo (107) -> swwwls, earhrts, ogfsdjs
cbwagy (89)
zdmgb (54)
chozum (24)
yqndxmd (43)
vwgvrw (59)
mnezur (84)
kajmeo (115) -> yqndxmd, mxnvqf
ftquc (84) -> grctgck, igoifku, xefpxn, cddgm
rcvhb (10) -> lvbgz, utyriu, zpzdnz, wjuyj
ghpotnp (181) -> vdjoaq, xvcxtx
tefpuyj (90) -> dbirye, cfegyp
exryas (72)
ixxaaz (88) -> wckuhkd, hjqlg
dtjmr (61)
jhhnkho (48)
tfnsk (7354) -> otxmmd, vrkihvw, nndiv
idfhr (28)
dssoru (95)
piaeb (99)
cfcmep (51) ->


 [new TypeParameterType(typeParameter1a, Nullability.nullable)]),
        new TypedefTearOffConstant(
            [typeParameter2a, typeParameter2b],
            tearOffConstant3,
            [new TypeParameterType(typeParameter2a, Nullability.nullable)]));

    // foo<X>() {}
    // typedef F<T1, T2> = foo<T1>;
    // typedef G<S1, S2> = foo<S2>;
    // F != G
    testNotEquals(
        new TypedefTearOffConstant(
            [typeParameter1a, typeParameter1b],
            tearOffConstant3,
            [new TypeParameterType(typeParameter1a, Nullability.nullable)]),
        new TypedefTearOffConstant(
            [typeParameter2a, typeParameter2b],
            tearOffConstant3,
            [new TypeParameterType(typeParameter2b, Nullability.nullable)]));

    testEquals(tearOffConstant4, tearOffConstant4);
    testEquals(tearOffConstant5, tearOffConstant5);
    testEquals(tearOffConstant6, tearOffConstant6);

    testNotEquals(tearOffConstant4, tearOffConstant5);
    testNotEquals(tearOffConstant4, tearOffConstant6);
    testNotEquals(tearOffConstant5, tearOffConstant6);
  }
}
// Copyright (c) 2021, the Dart project authors.  Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.

import 'package:kernel/src/union_find.dart';

void testSame<T>(UnionFind<T> unionFind, T a, T b, bool expected) {
  expect(expected, unionFind.nodesInSameSet(unionFind[a], unionFind[b]));
}

void testSets<T>(UnionFind<T> unionFind, Set<Set<T>> sets) {
  for (Set<T> set in sets) {
    UnionFindNode<T> root = unionFind.findNode(unionFind[set.first]);
    for (T value in unionFind.values) {
      testSame(unionFind, value, root.value, set.contains(value));
    }
  }
}

void testFind<T>(UnionFind<T> unionFind, T value, T expected) {
  expect(expected, unionFind.findNode(unionFind[value]).value);
}

void testUnion<T>(UnionFind<T> unionFind, T a, T b, T expected) {
  expect(expected, unionFind.unionOfNodes(unionFind[a], unionFind[b]).value);
}

void main() {
  UnionFind<int> unionFind = new UnionFind();
  // {0}
  testFind(unionFind, 0, 0);
  testSame(unionFind, 0, 0, true);
  testSets(unionFind, {
    {0}
  });

  // {0}, {1}
  testFind(unionFind, 1, 1);
  testSame(unionFind, 0, 1, false);
  testSame(unionFind, 1, 0, false);
  testSame(unionFind, 1, 1, true);
  testSets(unionFind, {
    {0},
    {1}
  });

  // {0}, {1}, {2}
  testFind(unionFind, 2, 2);
  testSame(unionFind, 0, 2, false);
  testSame(unionFind, 1, 2, false);
  testSame(unionFind, 2, 2, true);
  testSets(unionFind, {
    {0},
    {1},
    {2}
  });

  // {0}, {1}, {2}
  testUnion(unionFind, 0, 0, 0);
  testSame(unionFind, 0, 0, true);
  testSame(unionFind, 0, 1, false);
  testSame(unionFind, 0, 2, false);
  testSets(unionFind, {
    {0},
    {1},
    {2}
  });

  // {0, 1}, {2}
  testUnion(unionFind, 0, 1, 0);
  testSame(unionFind, 0, 0, true);
  testSame(unionFind, 0, 1, true);
  testSame(unionFind, 1, 0, true);
  testSame(unionFind, 0, 2, false);
  testFind(unionFind, 0, 0);
  test


            if (!testString.isLowSurrogate(index + 1, leftLimit, rightLimit)
                && next.matches(index + charCount, testString, matchResult) >= 0) {
                return index
            }
            index--
        }
        return -1
    }

    override fun first(set: AbstractSet): Boolean {
        return when (set) {
            is HighSurrogateCharSet -> set.char == this.char
            is CharSet,
            is RangeSet,
            is SupplementaryCharSet,
            is SupplementaryRangeSet -> false
            else -> true
        }
    }

    override fun hasConsumed(matchResult: MatchResultImpl): Boolean = true
}

/*
 * Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
 * that can be found in the LICENSE file.
 */

/*
 *  Licensed to the Apache Software Foundation (ASF) under one or more
 *  contributor license agreements.  See the NOTICE file distributed with
 *  this work for additional information regarding copyright ownership.
 *  The ASF licenses this file to You under the Apache License, Version 2.0
 *  (the "License"); you may not use this file except in compliance with
 *  the License.  You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 *  Unless required by applicable law or agreed to in writing, software
 *  distributed under the License is distributed on an "AS IS" BASIS,
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *  See the License for the specific language governing permissions and
 *  limitations under the License.
 */

package kotlin.text.regex

/**
 * Possessive quantifier node over a leaf node.
 *  - a{n,m}+;
 *  - a*+ == a{0, <inf>}+;
 *  - a?+ == a{0, 1}+;
 *  - a++ == a{1, <inf>}+;
 */
internal class PossessiveLeafQuantifierSet(
        quant: Quantifier,
        innerSet: LeafSet,
        next: AbstractSet, type: Int
) : LeafQuantifierSet(quant, innerSet, next, type) {

    override fun matches(startIndex: Int, testString: CharSequence, matchResult: MatchResultImpl): Int {
        var index = startIndex
        var occurrences = 0

        while (occurrences < min) {
            if (index + leaf.charCount > testString.length) {
                return -1
            }

            val shift = leaf.accepts(index, testString)
            if (shift < 1) {
                return -1
            }
            index += shift
            occurrences++
        }

        while ((max == Quantifier.INF || occurrences < max) && index + leaf.charCount <= testString.length) {
            val shift = leaf.accepts(index, testString)
            if (shift < 1) {
                break
            }
            index += shift
            occurrences++
        }

        return next.matches(index, testString, matchResult)
    }
}
/*
 * Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
 * that can be found in the LICENSE file.
 */

/*
 *  Licensed to the Apache Software Foundation (ASF) under one or more
 *  contributor license agreements.  See the NOTICE file distributed with
 *  this work for additional information regarding copyright ownership.
 *  The ASF licenses this file to You under the Apache License, Version 2.0
 *  (the "License"); you may not use this file except in compliance with
 *  the License.  You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 *  Unless required by applicable law or agreed to in writing, software
 *  distributed under the License is distributed on an "AS IS" BASIS,
 *  WITHOUT WARRANTI


를 1647K로 확장했다. 자세한 통계 정보는 부록 A에서 찾을 수 있으며, 데이터 향상 결과를 위해 모든 훈련 하이퍼파라미터를 주요 결과와 대략 동일하게 유지한다. 또한 데이터 크기의 증가에 따라 반복횟수가 달라진다.\n' +
      '\n' +
      '표 9는 9개의 벤치마크에서 데이터 개선 후 LLaVA-1.5(즉, 단일 CLIP 전문가), LLaVA-1.5 및 MouSi(3중 전문가 "LayoutLM+ConvNeXt+CLIP 포함)에 대한 결과를 보고한다. 결과는 데이터 향상을 통해 다중 시각 전문가 VLM이 단일 전문가 VLM에 비해 성능(7/9)을 더욱 향상시킬 수 있음을 보여준다. 평균 성능은 1.0 향상되었지만 매개변수 수는 300M만 증가했다. 데이터 증강의 효과를 비교하면 단일 전문가 접근법이 4.4, 삼중 전문가 방법이 3.9 향상되었음을 알 수 있으며, 이는 다중 시각적 전문가 VLM의 잠재력이 아직 완전히 활용되지 않았으며 더 많은 데이터가 VLM의 능력을 크게 향상시킬 수 있음을 확인시켜준다. 마지막으로, 주류 VLM에 비해 MouSi는 벤치마크 9개 중 8개에서 가장 우수한 성능을 발휘하면서 나머지 하나에서 두 번째로 우수한 성능을 발휘하여 강력한 멀티모달 어시스턴트 기능을 발휘한다.\n' +
      '\n' +
      '##4 사례연구\n' +
      '\n' +
      '그림 6은 복합 이미지 캡션, 시각적 텍스트 생성, 세계 지식으로 추론하는 OCR 해석, 시각적 수학 문제 해결, 복합 계수 및 시각적 접지를 포함한 7가지 작업에 대한 MouSi의 사례 연구를 보여준다. MouSi는 다양한 멀티모달 지시를 성공적으로 따를 수 있어 인간과의 유연한 상호 작용을 가능하게 한다.\n' +
      '\n' +
      '\\begin{table}\n' +
      '\\begin{tabular}{l c c c c c c c c c c} \\hline \\hline Model & Param. & VQA\\({}^{\\text{v2}}\\) & GQA & SOA\\({}^{\\text{I}}\\) & VQA\\({}^{\\text{T}}\\) & POPE & MMB & MMB\\({}^{\\text{CN}}\\) & SEED\\({}^{\\text{I}}\\) & MM-Vet & Avg. \\\\ \\hline \\hline \\multicolumn{11}{c}{_Baselines_} \\\\ InstructBLIP[40] & 8.0B & – & 49.2 &


am1) {
            value[0] = param0;
            value[1] = param1;
            this.gl[name](param0, param1);
        }
    }

    /**
     * 调 gl 3参数方法
     * @param name  方法名
     * @param  param0 方法参数
     * @param  param1 方法参数
     * @param  param2 方法参数
     */
    private set3(name : string, param0 : number | Object, param1: number | Object, param2: number | Object) {
        let value = this._dict[name];
        if (!value) {
            value = this._dict[name] = [];
        }

        if (value[0] !== param0 || value[1] !== param1 || value[2] !== param2) {
            value[0] = param0;
            value[1] = param1;
            value[2] = param2;
            this.gl[name](param0, param1, param2);
        }
    }

    /**
     * 调 gl 4参数方法
     * @param  name  方法名
     * @param  param0 方法参数
     * @param  param1 方法参数
     * @param  param2 方法参数
     * @param  param3 方法参数
     */
    private set4(name : string, param0: number | Object, param1: number | Object, param2: number | Object, param3: number | Object) {
        let value = this._dict[name];
        if (!value) {
            value = this._dict[name] = [];
        }

        if (value[0] !== param0 || value[1] !== param1 || value[2] !== param2 || value[3] !== param3) {
            value[0] = param0;
            value[1] = param1;
            value[2] = param2;
            value[3] = param3;
            this.gl[name](param0, param1, param2, param3);
        }
    }

    public get(name : string) {
        return this._dict[name];
    }
}
import * as ast from '../lib/ast';
import { suite , test , hasErrors, noErrors , ok, throws , deepEqual , noThrows } from '../lib/test-util';

@suite
class EnvironmentTest {
    @test
    canCreate() {
        let env = new ast.Environment<ast.IExpression>();
        env.set(ast.identifier('test'), ast.integerExp(1));
        console.log(env.get(ast.identifier('test')));
        let nested = env.pushEnv();
        console.log(env.get(ast.identifier('test'))); // expect to exist again.
    }
}
export class Utils {

  public static secondToMinute ( sec: number ): string {

    let minute, second;
    if ( ( minute = Math.floor( sec / 60 ) ) < 10 ) {
      minute = '0' + minute;
    }
    if ( ( second = Math.floor( sec % 60 ) ) < 10 ) {
      second = '0' + second;
    }
    return minute + ':' + second;
  }

  public static byteToMegabytes ( byte: number ): string {
    return ( byte / 1024 / 1024 ).toFixed( 2 ) + 'MB';
  }

  public static toMediaType ( type: string ):string {
    return type.replace(/audio\//, '');
  }
}export function omit(obj, fields) {
  const shallowCopy = {
    ...obj,
  };
  for (let i = 0; i < fields.length; i++) {
    const key = fields[i];
    delete shallowCopy[key];
  }
  return shallowCopy;
}
// Import Agenda
import Agenda = require("agenda");
// Import injectable and reflect metadata for dependency injection
import { inject, injectable } from "inversify";
import "reflect-metadata";
// Import interfaces for class implementation and dependency injection
import { ITriggeredJob } from "../interfaces/ITriggeredJob";
import { IPIWebAPIService } from "../interfaces/


ct argument types
            checkNPE(() -> { // null array
                char x = (char) hs.get(am, methodType(char.class, char[].class, int.class, char.class)).
                    invokeExact((char[]) null, 0, '\u0123');
            });
            hs.checkWMTEOrCCE(() -> { // array reference class
                char x = (char) hs.get(am, methodType(char.class, Class.class, int.class, char.class)).
                    invokeExact(Void.class, 0, '\u0123');
            });
            checkWMTE(() -> { // value reference class
                char x = (char) hs.get(am, methodType(char.class, char[].class, int.class, Class.class)).
                    invokeExact(array, 0, Void.class);
            });
            checkWMTE(() -> { // array primitive class
                char x = (char) hs.get(am, methodType(char.class, int.class, int.class, char.class)).
                    invokeExact(0, 0, '\u0123');
            });
            checkWMTE(() -> { // index reference class
                char x = (char) hs.get(am, methodType(char.class, char[].class, Class.class, char.class)).
                    invokeExact(array, Void.class, '\u0123');
            });
            // Incorrect return type
            checkWMTE(() -> { // reference class
                Void r = (Void) hs.get(am, methodType(Void.class, char[].class, int.class, char.class)).
                    invokeExact(array, 0, '\u0123');
            });
            checkWMTE(() -> { // primitive class
                boolean x = (boolean) hs.get(am, methodType(boolean.class, char[].class, int.class, char.class)).
                    invokeExact(array, 0, '\u0123');
            });
            // Incorrect arity
            checkWMTE(() -> { // 0
                char x = (char) hs.get(am, methodType(char.class)).
                    invokeExact();
            });
            checkWMTE(() -> { // >
                char x = (char) hs.get(am, methodType(char.class, char[].class, int.class, char.class, Class.class)).
                    invokeExact(array, 0, '\u0123', Void.class);
            });
        }
    }
}
/*
 * Copyright (c) 2014. Escalon System-Entwicklung, Dietrich Schulten
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance
 * with the License. You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed
 * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for
 * the specific language governing permissions and limitations under the License.
 */
package de.escalon.hypermedia.hydra;

import com.github.jsonldjava.core.JsonLdError;
import com.github.jsonldjava.core.JsonLdOptions;
import com.github.jsonldjava.core.JsonLdProcessor;
import com.github.jsonldjava.utils.JsonUtils;

import java.io.IOException;
import java.io.InputStream;
import java.util.HashMap;
import java.util.Map;

/**
 * Unit test for simple App.
 */
public class JsonLdTestUtils {

    private JsonLdTestUtils() {
        // prevent instantiation
    }

    public static String applyContext(String jsonLd) throws IOException, JsonLdError {
        Object jsonObject = JsonUtils.fromString(jsonLd);

        Map context = new HashMap();
        JsonLdOptions options = new JsonLdOptions();
        Map<String, Object> compact = JsonLdProcessor.compact(jsonObject, context, options);

        return JsonUtils.toPrettyString(compact);
    }

    public static


ilence.duration.inWholeSeconds > 0) {
                                    sink.write(getSilence(paddingSilence.duration, audioMetadata))
                                }
                            }
                        }
                    }
                }
                // 写入 wav header
                WaveHeaderWriter(
                    filePath = wav.absolutePath,
                    audioMetadata = audioMetadata,
                ).writeHeader()
                // 准备好一个 wav 格式的文件，然后再转码为 mp3
                val wavParser = WavParser(wav.inputStream())
                encodeWavAsMp3(target, wavParser)
                wav.delete()
                _progress.value = 100
            }
        }.onFailure { e ->
            e.printStackTrace()
            _progress.value = -1
        }

    override fun cancel() {
        _progress.value = -1
    }

    private suspend fun encodeWavAsMp3(
        target: Uri,
        wavParser: WavParser,
    ) {
        val encoder = Mp3Encoder()
        val outputSink =
            appContext.contentResolver
                .openOutputStream(target)!!
                .sink()
                .buffer()
        outputSink.use {
            encoder.encode(
                wavParser,
                outputSink,
                LameBuilder()
                    .setId3tagArtist("μ's")
                    .setId3tagYear(
                        Calendar.getInstance().get(Calendar.YEAR).toString(),
                    ).build(),
            )
        }
    }
}

internal fun getSilence(
    duration: Duration,
    sampleMetadata: AudioSampleMetadata,
): ByteArray {
    // Duration of silence in seconds
    val silenceDurationInSeconds = duration.inWholeSeconds.toInt()

    // Calculate the total number of bytes for the silence duration
    val totalBytesForSilence =
        sampleMetadata.sampleRateInHz * silenceDurationInSeconds * sampleMetadata.bytesPerSample

    // Create a buffer filled with zeros (silence)
    return ByteArray(totalBytesForSilence)
}/*
 * Copyright 2025 Konstantin <hi@iamkonstantin.eu>.
 *  Use of this source code is governed by the BSD 3-Clause License that can be found in LICENSE file.
 */

package eu.iamkonstantin.kotlin.gadulka

import android.content.ContentResolver
import android.net.Uri
import androidx.media3.common.MediaItem
import androidx.media3.common.Player
import androidx.media3.exoplayer.ExoPlayer
import com.kdroid.androidcontextprovider.ContextProvider

@Suppress("EXPECT_ACTUAL_CLASSIFIERS_ARE_IN_BETA_WARNING")
actual class GadulkaPlayer actual constructor() {

    private var mediaPlayer = ExoPlayer.Builder(ContextProvider.getContext()).build()

    actual fun play(url: String) {
        if (mediaPlayer.isPlaying) {
            stop()
        }

        if (mediaPlayer.isCommandAvailable(Player.COMMAND_PREPARE)) mediaPlayer.prepare()

        val mediaItem = MediaItem.fromUri(url)

        if (mediaPlayer.isCommandAvailable(Player.COMMAND_SET_MEDIA_ITEM)) mediaPlayer.setMediaItem(mediaItem)

        if(mediaPlayer.isCommandAvailable(Player.COMMAND_PLAY_PAUSE)) mediaPlayer.play()
    }

    actual fun play() {
        if(mediaPlayer.isCommandAvailable(Player.COMMAND_PLAY_PAUSE)) mediaPlayer.play()
    }

    /**
     * Android-specific implementation of the [play] method which uses a ContentResolver to calculate the Uri of a raw file resource bundled with the app.
     */
    fun play(rawResourceId: Int) {
        val uri = Uri.Builder()
            .scheme(ContentResolver.SCHEME_ANDROID_RESOURCE)
            .appendPath("$rawResourceId")
            .build().toString()
        play(uri)
    }

    actual fun currentPosition(): Long? {
        if (mediaPlayer


a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\n\n\n\n/// <reference no-default-lib="true"/>\n\n\ninterface BigIntToLocaleStringOptions {\n    /**\n     * The locale matching algorithm to use.The default is "best fit". For information about this option, see the {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl#Locale_negotiation Intl page}.\n     */\n    localeMatcher?: string;\n    /**\n     * The formatting style to use , the default is "decimal".\n     */\n    style?: string;\n\n    numberingSystem?: string;\n    /**\n     * The unit to use in unit formatting, Possible values are core unit identifiers, defined in UTS #35, Part 2, Section 6. A subset of units from the full list was selected for use in ECMAScript. Pairs of simple units can be concatenated with "-per-" to make a compound unit. There is no default value; if the style is "unit", the unit property must be provided.\n     */\n    unit?: string;\n\n    /**\n     * The unit formatting style to use in unit formatting, the defaults is "short".\n     */\n    unitDisplay?: string;\n\n    /**\n     * The currency to use in currency formatting. Possible values are the ISO 4217 currency codes, such as "USD" for the US dollar, "EUR" for the euro, or "CNY" for the Chinese RMB — see the Current currency & funds code list. There is no default value; if the style is "currency", the currency property must be provided. It is only used when [[Style]] has the value "currency".\n     */\n    currency?: string;\n\n    /**\n     * How to display the currency in currency formatting. It is only used when [[Style]] has the value "currency". The default is "symbol".\n     *\n     * "symbol" to use a localized currency symbol such as €,\n     *\n     * "code" to use the ISO currency code,\n     *\n     * "name" to use a localized currency name such as "dollar"\n     */\n    currencyDisplay?: string;\n\n    /**\n     * Whether to use grouping separators, such as thousands separators or thousand/lakh/crore separators. The default is true.\n     */\n    useGrouping?: boolean;\n\n    /**\n     * The minimum number of integer digits to use. Possible values are from 1 to 21; the default is 1.\n     */\n    minimumIntegerDigits?: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21;\n\n    /**\n     * The minimum number of fraction digits to use. Possible values are from 0 to 20; the default for plain number and percent formatting is 0; the default for currency formatting is the number of minor unit digits provided by the {@link http://www.currency-iso.org/en/home/tables/table-a1.html ISO 4217 currency codes list} (2 if the list doesn\'t provide that information).\n     */\n    minimumFractionDigits?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20;\n\n    /**\n     * The maximum number of fraction digits to use. Possible values are from 0 to 20; the default for plain number formatting is the larger of minimumFractionDigits and 3; the default for currency formatting is the larger of minimumFractionDigits and the number of minor unit digits pr


 from "socket.io";
import { Logger } from "../util";
import { Room } from "./Room";

export class RoomPool {
  private Pool: Map<string, Room>;

  public static server: Server;
  static instance: RoomPool;

  private constructor() {
    this.Pool = new Map();
  }

  public static setServer(IOserver: Server) {
    Room.io = IOserver;
  }
  public static getInstance() {
    if (!RoomPool.instance) {
      RoomPool.instance = new RoomPool();
    }
    return RoomPool.instance;
  }

  public createRoom(hostName: string): Room {
    let roomID: string = (
      Math.floor(Math.random() * (9999 - 1000)) + 1000
    ).toString();

    while (this.Pool.has(roomID)) {
      roomID = (Math.floor(Math.random() * (9999 - 1000)) + 1000).toString();
    }

    let newRoom: Room = Room.craeteRoomInstance(roomID, hostName);
    this.Pool.set(roomID, newRoom);
    Logger.log("room", newRoom, "created");
    return newRoom;
  }

  public matchMaking(reqUserName: string): Room {
    if (this.Pool.size > 0) {
      let matched: Room = null;

      let rooms: Room[] = Array.from(this.Pool.values());
      rooms.sort((a, b) => {
        if (a.getUserList().length > b.getUserList().length) {
          return 1;
        } else if (a.getUserList().length < b.getUserList().length) {
          return -1;
        } else {
          return 0;
        }
      });

      for (let room of rooms) {
        if (room.isSearchable()) {
          matched = room;
          break;
        }
      }

      if (matched) {
        return matched;
      } else {
        return this.createRoom(reqUserName);
      }
    } else {
      return this.createRoom(reqUserName);
    }
  }

  public getRoomByID(roomID: string): Room {
    return this.Pool.get(roomID);
  }

  public deleteRoomByID(roomID: string): boolean {
    return this.Pool.delete(roomID);
  }
}
'use strict';
const fs = require('fs')

function writeItForMe (path: string, word: string, number: number) {
  for (let i: number = 0; i < number; i++) {
  fs.appendFileSync(path, word)
  }
}
writeItForMe('05-writeMultipleLines.txt', 'apple \n', 4)import axios from "axios";

import Name from "../model/Name";
import Checker from "./Checker";

export default class TwitterChecker extends Checker {

  public name() {
    return "Twitter";
  }

  public format(name: Name): string {
    return `@${name.getBase()}`;
  }

  public async check(name: Name): Promise<boolean> {
    try {
      await axios.get(`https://twitter.com/${name.getBase()}`);
    } catch (error) {
      if (error.response.status === 404) {
        return true;
      }

      throw new Error(`An error occurred when checking for Twitter name availability: ${error}`);
    }

    return false;
  }

}
import { HttpClient, HttpHeaders } from '@angular/common/http';
import { Injectable } from '@angular/core';
import { Observable } from 'rxjs';
import { Restaurant } from './restaurant.model';

@Injectable({
  providedIn: 'root'
})
export class RestaurantService {

    /*URL for coding challenge*/
    URL = 'https://code-challenge.spectrumtoolbox.com/api/restaurants';
    headerDict = new HttpHeaders({Authorization: "Api-Key q3MNxtfep8Gt"});

    constructor(
        private httpClient: HttpClient
    ) { }

    /**
     * Get a list of restaurants based on


 ft, isActive: 0 === bt.length }, t || {}), i = $(document.createElement("div")).addClass("chart-container").appendTo(lt).css({ position: "absolute", overflow: "hidden" }), i.on("mousedown touchstart", function() { vt.setValue(e) }), o = bt.length, n = { wrap: i }, bt.push(n), m(o), t.jqParent = i, n.chartWidget = e = new r.ChartWidget(t), ft.firstWidgetInitialized || e.chartWidgetInitialized.subscribe(null, function() {
                    try { c.sendEvent("chart_widget_initialized") } catch (t) {}
                    ft.firstWidgetInitialized = !0, g()
                }, !0), (1 === bt.length || u.enabled("show_logo_on_all_charts")) && e.createBranding(), t.containsData ? e.finishInitWithoutConnect() : e.connect(), w(), S(), ct.fire(e), e
            }

            function b(t, e) {
                var i, o, n, r;
                t in s || (t = "s"), i = s[t].count, d.emit("layout_about_to_be_changed", t), xt = t, ot = e, nt.setValue(ot), Ct = s[t];
                for (o = 0; o < i || o < bt.length; o++) n = e ? Tt === o : o < i, n ? (bt[o] ? (lt.append(bt[o].wrap), bt[o].chartWidget.isDetached = !1, (r = Pt.shift()) && (Lt = !0, bt[o].chartWidget.loadContent(r.content), Lt = !1)) : y($.extend({}, st, Pt.shift() || (vt.value() ? { content: vt.value().state() } : null) || {}, 0 === o || kt.value() ? {} : { defSymbol: null })), bt[o].wrap.toggleClass("multiple", i > 1), m(o)) : bt[o] && (bt[o].chartWidget.isDetached = !0, bt[o].wrap.detach());
                return w(), d.emit("layout_changed"), !0
            }

            function w() {
                var t, e = Math.min(Ct.count, bt.length) - 1;
                if (e < 0) return void vt.deleteValue();
                t = Tt, t < 0 && (t = 0), t > e && (t = e), vt.setValue(bt[t].chartWidget)
            }

            function S() { var t, e; for (t = bt.length; t--;) e = t === Tt, bt[t].wrap.toggleClass("active", e).toggleClass("inactive", !e) }

            function T() {
                return $.grep(bt, function(t) { return !t.chartWidget.isDetached }).sort(function(t, e) {
                    var i = t.metrics.top,
                        o = e.metrics.top,
                        n = t.metrics.left,
                        s = e.metrics.left;
                    return i === o ? n < s ? -1 : n > s ? 1 : 0 : i < o ? -1 : 1
                })
            }

            function C() { var t, e, i, o = ft.layout.value(); "s" !== o && (t = s[o].count, nt.value() || (wt = T()), e = St + 1, i = wt[e], !i || e > t ? (i = wt[0], St = 0) : St = e, vt.setValue(i.chartWidget), nt.value() && b(o, !0)) }

            function x(t) {
                var e, i, o, n;
                ut !== t && (ut && (ut.modelCreated().unsubscribe(null, P), (e = ut.model()) && (i = e.mainSeries().properties(), i.style.unsubscribe(null, L), o = e.model(), o.onSelectedSourceChanged().unsubscribe(null, k), ut = null)), t && (n = t.model(), n ? P(n) : t.modelCreated().subscribe(null, P), ut = t))


// ロ
	{"\xE3\x82\x8B", "ru"},              // る
	{"\xE3\x83\xAB", "ru"},              // ル
	{"\xE3\x82\x8A\xE3\x82\x83", "rya"}, // りゃ
	{"\xE3\x83\xAA\xE3\x83\xA3", "rya"}, // リャ
	{"\xE3\x82\x8A\xE3\x82\x87", "ryo"}, // りょ
	{"\xE3\x83\xAA\xE3\x83\xA7", "ryo"}, // リョ
	{"\xE3\x82\x8A\xE3\x82\x85", "ryu"}, // りゅ
	{"\xE3\x83\xAA\xE3\x83\xA5", "ryu"}, // リュ
	{"\xE3\x81\xA3", "s"},               // っ
	{"\xE3\x83\x83", "s"},               // ッ
	{"\xE3\x81\x95", "sa"},              // さ
	{"\xE3\x82\xB5", "sa"},              // サ
	{"\xE3\x81\x9B", "se"},              // せ
	{"\xE3\x82\xBB", "se"},              // セ
	{"\xE3\x81\x97\xE3\x82\x83", "sha"}, // しゃ
	{"\xE3\x82\xB7\xE3\x83\xA3", "sha"}, // シャ
	{"\xE3\x82\xB7\xE3\x82\xA7", "she"}, // シェ
	{"\xE3\x81\x97", "shi"},             // し
	{"\xE3\x82\xB7", "shi"},             // シ
	{"\xE3\x81\x97\xE3\x82\x87", "sho"}, // しょ
	{"\xE3\x82\xB7\xE3\x83\xA7", "sho"}, // ショ
	{"\xE3\x81\x97\xE3\x82\x85", "shu"}, // しゅ
	{"\xE3\x82\xB7\xE3\x83\xA5", "shu"}, // シュ
	{"\xE3\x81\x9D", "so"},              // そ
	{"\xE3\x82\xBD", "so"},              // ソ
	{"\xE3\x81\x99", "su"},              // す
	{"\xE3\x82\xB9", "su"},              // ス
	{"\xE3\x81\xA3", "t"},               // っ
	{"\xE3\x83\x83", "t"},               // ッ
	{"\xE3\x81\x9F", "ta"},              // た
	{"\xE3\x82\xBF", "ta"},              // タ
	{"\xE3\x81\xA6", "te"},              // て
	{"\xE3\x83\x86", "te"},              // テ
	{"\xE3\x83\x86\xE3\x82\xA3", "ti"},  // ティ
	{"\xE3\x81\xA8", "to"},              // と
	{"\xE3\x83\x88", "to"},              // ト
	{"\xE3\x83\x84\xE3\x82\xA1", "tsa"}, // ツァ
	{"\xE3\x83\x84\xE3\x82\xA7", "tse"}, // ツェ
	{"\xE3\x83\x84\xE3\x82\xA3", "tsi"}, // ツィ
	{"\xE3\x83\x84\xE3\x82\xA9", "tso"}, // ツォ
	{"\xE3\x81\xA4", "tsu"},


/*
 * This file is part of the TrinityCore Project. See AUTHORS file for Copyright information
 *
 * This program is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License as published by the
 * Free Software Foundation; either version 2 of the License, or (at your
 * option) any later version.
 *
 * This program is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
 * more details.
 *
 * You should have received a copy of the GNU General Public License along
 * with this program. If not, see <http://www.gnu.org/licenses/>.
 */

#ifndef _GUILDMGR_H
#define _GUILDMGR_H

#include "Define.h"
#include "ObjectGuid.h"
#include "UniqueTrackablePtr.h"
#include <unordered_map>
#include <vector>

class Guild;

class TC_GAME_API GuildMgr
{
private:
    GuildMgr();
    ~GuildMgr();
    GuildMgr(GuildMgr const&) = delete;
    GuildMgr& operator=(GuildMgr const&) = delete;

public:
    static GuildMgr* instance();

    Guild* GetGuildByLeader(ObjectGuid guid) const;
    Guild* GetGuildById(ObjectGuid::LowType guildId) const;
    Guild* GetGuildByName(std::string_view guildName) const;
    std::string GetGuildNameById(ObjectGuid::LowType guildId) const;

    void LoadGuilds();
    void AddGuild(Guild* guild);
    void RemoveGuild(ObjectGuid::LowType guildId);

    ObjectGuid::LowType GenerateGuildId();
    void SetNextGuildId(ObjectGuid::LowType Id) { NextGuildId = Id; }

    void ResetTimes();
protected:
    typedef std::unordered_map<ObjectGuid::LowType, Trinity::unique_trackable_ptr<Guild>> GuildContainer;
    ObjectGuid::LowType NextGuildId;
    GuildContainer GuildStore;
};

#define sGuildMgr GuildMgr::instance()

#endif


��励、支持、指导和协调开展文明城市、文明村镇、文明单位、文明家庭、文明校园等精神文明创建活动。

第二十八条 市、县（区）人民政府应当将文明行为促进工作纳入精神文明创建考核目标，将其工作经费纳入同级年度财政预算。

鼓励公民、法人和其他组织以提供资金、技术、劳务等方式参与文明行为促进工作。

第二十九条 市、县（区）人民政府及有关部门应当按照规定对在文明行为促进工作中作出突出贡献者予以奖励。

第三十条 教育行政部门和教育机构应当推进文明校园建设，将文明行为规范纳入文明校园创建和思想政治教育。

第三十一条 公安、交通运输、城市管理、商务、生态环境、市场监管、卫生健康、民政、教育体育、文化广电旅游等部门，应当在各自职责范围内，建立健全日常检查制度，及时发现、制止、查处相关领域的不文明行为。

行政执法部门之间应当建立信息共享和执法合作机制。

第三十二条 对实施不文明行为造成严重后果的，由有关部门依法将其录入社会信用信息系统。

国家机关工作人员因实施不文明行为受到行政处罚且拒不履行处罚决定的，作出处罚决定的机关可以将有关情况通报其所在单位。

第三十三条 任何单位和个人有权对不文明行为予以劝阻和举报。

政府及有关部门应当建立不文明行为举报、投诉、查处制度，公布投诉举报途径和方式，及时受理、查处投诉举报的问题。

第三十四条 窗口单位和服务行业应当将文明行为规范纳入职业规范要求和岗位培训内容，教育和督促工作人员做到语言文明、服务热情、工作规范。

第三十五条 市、县（区）人民政府及有关部门应当科学规划、合理布局、建设完善下列公共设施，保障文明行为促进工作的实施:

（一）道路、公交站亭、停车位、交通标志标线等交通设施；

（二）公共厕所、垃圾中转站、污水处理厂等环卫设施；

（三）体育场（馆）、图书馆、影


ek":"星期三","date":"20180704"}
             * day_20180705 : {"temperature":"26℃~34℃","weather":"雷阵雨转中雨","weather_id":{"fa":"04","fb":"08"},"wind":"南风3-5级","week":"星期四","date":"20180705"}
             * day_20180706 : {"temperature":"24℃~32℃","weather":"中雨转小雨","weather_id":{"fa":"08","fb":"07"},"wind":"西南风微风","week":"星期五","date":"20180706"}
             * day_20180707 : {"temperature":"24℃~28℃","weather":"小雨","weather_id":{"fa":"07","fb":"07"},"wind":"西北风微风","week":"星期六","date":"20180707"}
             * day_20180708 : {"temperature":"27℃~32℃","weather":"雷阵雨转多云","weather_id":{"fa":"04","fb":"01"},"wind":"西南风3-5级","week":"星期日","date":"20180708"}
             * day_20180709 : {"temperature":"24℃~32℃","weather":"中雨转小雨","weather_id":{"fa":"08","fb":"07"},"wind":"西南风微风","week":"星期一","date":"20180709"}
             */

            var day_20180703: Day20180703Bean? = null
            var day_20180704: Day20180704Bean? = null
            var day_20180705: Day20180705Bean? = null
            var day_20180706: Day20180706Bean? = null
            var day_20180707: Day20180707Bean? = null
            var day_20180708: Day20180708Bean? = null
            var day_20180709: Day20180709Bean? = null

            class Day20180703Bean {
                /**
                 * temperature : 25℃~30℃
                 * weather : 中雨
                 * weather_id : {"fa":"08","fb":"08"}
                 * wind : 北风微风
                 * week : 星期二
                 * date : 20180703
                 */

                var temperature: String? = null
                var weather: String? = null
                var weather_id: WeatherIdBeanX? = null
                var wind: String? = null
                var week: String? = null
                var date: String? = null

                class WeatherIdBeanX {
                    /**
                     * fa : 08
                     * fb : 08
                     */

                    var fa: String? = null
                    var fb: String? = null
                }
            }

            class Day20180704Bean {
                /**
                 * temperature : 27℃~32℃
                 * weather : 雷阵雨转多云
                 * weather_id : {"fa":"04","fb":"01"}
                 * wind : 西南风3-5级
                 * week : 星期三
                 * date : 20180704
                 */

                var temperature: String? = null
                var weather: String? = null
                var weather_id: WeatherIdBeanXX? = null
                var wind: String? = null
                var week: String? = null
                var date: String? = null

                class WeatherIdBeanXX {
                    /**
                     * fa : 04
                     * fb : 01
                     */

                    var fa: String? = null
                    var fb: String? = null
                }
            }

            class Day20180705Bean {
                /**
                 * temperature : 26℃~34℃
                 * weather : 雷阵雨转中雨
                 * weather_id : {"fa


criptOwnership(this IScriptPrivateResource resource, Script script)
		{
			if (resource.OwnerScript != null && resource.OwnerScript != script && script != null)
			{
				throw new ScriptRuntimeException("Attempt to access a resource owned by a script, from another script");
			}
		}

		public static void CheckScriptOwnership(this IScriptPrivateResource containingResource, IScriptPrivateResource itemResource)
		{
			if (itemResource != null)
			{
				if (containingResource.OwnerScript != null && containingResource.OwnerScript != itemResource.OwnerScript && itemResource.OwnerScript != null)
				{
					throw new ScriptRuntimeException("Attempt to perform operations with resources owned by different scripts.");
				}
				else if (containingResource.OwnerScript == null && itemResource.OwnerScript != null)
				{
					throw new ScriptRuntimeException("Attempt to perform operations with a script private resource on a shared resource.");
				}
			}
		}
	}

}


cks[SelectedBlock].Tiles[SelectedBlockTile.X, SelectedBlockTile.Y]
						= copiedBlockTile.Clone();
					if (LevelData.Level.TwoPlayerCompatible)
						LevelData.Blocks[SelectedBlock].MakeInterlacedCompatible();
					blockTileEditor.SelectedObjects = new[] { destTile };
					LevelData.RedrawBlock(SelectedBlock, false);
					DrawBlockPicture();
					BlockSelector.Invalidate();
				}
				else if (e.Button == chunkblockMouseSelect)
				{
					if (!selecting)
						if (Math.Sqrt(Math.Pow(e.X - lastmouse.X, 2) + Math.Pow(e.Y - lastmouse.Y, 2)) > 5)
							selecting = true;
						else
							return;
					SelectedBlockTile = Rectangle.FromLTRB(Math.Min(SelectedBlockTile.Left, e.X / 64), Math.Min(SelectedBlockTile.Top, y), Math.Max(SelectedBlockTile.Right, e.X / 64 + 1), Math.Max(SelectedBlockTile.Bottom, y + 1));
					copiedBlockTile = (blockTileEditor.SelectedObjects = GetSelectedBlockTiles())[0];
					DrawBlockPicture();
				}
		}

		private void BlockPicture_MouseUp(object sender, MouseEventArgs e)
		{
			if (loaded && e.Button == chunkblockMouseDraw)
			{
				LevelData.RedrawBlock(SelectedBlock, true);
				DrawLevel();
				DrawBlockPicture();
				BlockSelector.Invalidate();
			}
			else if (e.Button == chunkblockMouseSelect)
			{
				if (!selecting)
				{
					pasteChunkBlocksToolStripMenuItem.Enabled = Clipboard.ContainsData(typeof(PatternIndex[,]).AssemblyQualifiedName);
					chunkBlockMenuMode = ChunkBlockMenuMode.Blocks;
					chunkBlockContextMenuStrip.Show(BlockPicture, e.Location);
				}
				selecting = false;
			}
		}

		private void blockTileEditor_PropertyValueChanged(object sender, EventArgs e)
		{
			if (LevelData.Level.TwoPlayerCompatible)
				LevelData.Blocks[SelectedBlock].MakeInterlacedCompatible();
			LevelData.RedrawBlock(SelectedBlock, true);
			DrawLevel();
			DrawBlockPicture();
			BlockSelector.Invalidate();
		}

		private void BlockSelector_SelectedIndexChanged(object sender, EventArgs e)
		{
			importBlocksToolStripButton.Enabled = LevelData.Blocks.Count < LevelData.GetBlockMax();
			drawBlockToolStripButton.Enabled = importBlocksToolStripButton.Enabled;
			if (BlockSelector.SelectedIndex > -1)
			{
				SelectedBlock = BlockSelector.SelectedIndex;
				flipBlockHButton.Enabled = flipBlockVButton.Enabled = true;
				SelectedBlockTile = new Rectangle(0, 0, 1, 1);
				blockTileEditor.SelectedObjects = new[] { LevelData.Blocks[SelectedBlock].Tiles[0, 0] };
				if (LevelData.ColInds1.Count > 0)
					if (SelectedBlock < LevelData.ColInds1.Count)
					{
						ColIndBox.Enabled = true;
						BlockCollision1.Value = LevelData.GetColInd1(SelectedBlock);
						BlockCollision2.Value = LevelData.GetColInd2(SelectedBlock);
					}
					else
						ColIndBox.Enabled = false;
				BlockID.Value = SelectedBlock;
				BlockCount.Text = LevelData.Blocks.Count.ToString("X") + " / " + LevelData.GetBlockMax().ToString("X");
				DrawBlockPicture();
				if (copiedChunkBlock.Block != SelectedBlock)
				{
					copiedChunkBlock = copiedChunkBlock.Clone();
					copiedChunkBlock.Block = (ushort)SelectedBlock;
				}
			}
			else
				flipBlockHButton.Enabled = flipBlockVButton.Enabled = false;
		}

		private void DrawBlockPicture()
		{
			if (!loaded) return;
			BitmapBits bmp = new BitmapBits(16,


(10deg) scale(1);
  }

  40% {
    transform: rotate(50deg) scale(1);
  }
}

   @import "compass/typography/text/replacement";
@import "recipes/image/dimensions";
@import "recipes/image/inline";
@import "recipes/image/sprite";

@mixin image($img, $x: 50%, $y: 50%, $dimensions: false)
{
	background: {
		image: image-url($img);
		repeat: no-repeat;
		position: $x $y;
	}
	@include image-dimensions($img, $dimensions);
}

// Image with dimensions helper.
// It use the background image property + width & height
// $img: uri of the image you want;
// $line-height: boolean to include the height as line-height too (e.g. for button with one line vertically centred)
@mixin image-with-dimensions($img, $line-height: false, $x: 50%, $y: 50%)
{
	@include image($img, $x, $y, true true $line-height);
}

// I know it's like compass replace-text()
// But I prefer this "verbosity
@mixin image-replace-text($img, $x: 50%, $y: 50%, $dimensions: false)
{
	@include hide-text;
	@include image($img, $x, $y, $dimensions);
}

@mixin image-replace-text-with-dimensions($img, $x: 50%, $y: 50%, $dimensions: true)
{
	@include image-replace-text($img, $x, $y, $dimensions);
}////
// Icon Fonts helpers
//
// Great to use with the some pictos fonts
///

@import "compass/css3/background-clip";
@import "compass/css3/user-interface";
@import "compass/css3/text-shadow";
@import "compass/typography/text/replacement";

@import "recipes/font";
@import "recipes/text/gradient";
@import "recipes/background/gradients";

// The default dir where webfont icons are located.
// Not need to specify Compass fonts_dir (automatically prefixed).
$icon-font-dir: 'icons' !default;

// The default suffix for all placeholders.
$icon-font-placeholder-suffix: icon-font !default;

// The default placeholder name for icon parent container.
$icon-font-parent-placeholder: "#{$icon-font-placeholder-suffix}-parent" !default;

// The default placeholder name for icon base style.
$icon-font-base-placeholder: "#{$icon-font-placeholder-suffix}-base" !default;

// The default attribute name which contains the icon character code.
$icon-font-attr-name: data-icon !default;

// The default icon font size
$icon-font-size: 1em !default;

// The default color of the icon.
$icon-font-color: #999 !default;

// The default color of the icon.
$icon-font-color-hover: darken($icon-font-color, 10%) !default;

// $icon-font-color - The default color of the icon.
$icon-font-color-active: darken($icon-font-color, 20%) !default;

// The default gradient type of the icon.
// Compatibility Webkit only
$icon-font-gradient-type: matte !default;

// The default gradient type of the icon when state is :hover.
// Compatibility in Webkit only
$icon-font-gradient-type-hover: $icon-font-gradient-type !default;

// The default gradient type of the icon when state is :active.
// Compatibility in Webkit only
$icon-font-gradient-type-active: recessed !default;

// The default shadow type of the icon.
$icon-font-shadow: rgba(#000, .6) 0 1px 0 !defau


/******************************************************************************************
  Copyright (C) 2012-2014 Christian Roggia <christian.roggia@gmail.com>

   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.
******************************************************************************************/

#ifndef __ENCODING_ALGORITHMS_H__
#define __ENCODING_ALGORITHMS_H__

#include "StdAfx.h"

void DecodeModuleNameA(const WORD *pEncodedFunctionName, char *pDecodedFunctionName);
void DecodeModuleNameW(const WORD *pEncodedModuleName, WCHAR *pDecodedModuleName);

HMODULE GetModuleNTDLL(void);

FARPROC GetFunctionFromModule(const WCHAR *pEncodedModuleName, const char *pEncodedFunctionName);

void __memcpy(void *lpTo, const void *lpFrom, size_t nSize);

FARPROC GetFunctionFromKERNEL32(const WORD *lpEncodedFunc);
FARPROC GetFunctionFromNTDLL(const WORD *lpEncodedFunc);

#endif


-- english translation by ME!

-- DON'T forget to modify the other translations as well when you change something!!
-- CB_SAY CB_YELL

--added checks for random name coloring so that there won't be any confusion with class colors
--removed name coloring for anthing not [SillySam]: hello world (says, yells, emotes, lootmessages, etc.)
--possible fix for :742 nil error
--settings made global

CB_LOADED = "ChatBox loaded. Version: ";

--ONLY present in this file.
CB_VERSION = 1.20;

CB_HELPTITLE = "ChatBox help!";
CB_TS_HELPTITLE = "TimeStamp help!";
CB_OPTIONS = "options";
CB_HELP = "help";

CB_SHORTCUTS = "ShortCuts: sti, lfg, bot, thr, gthr, gos, use, edit, emo, left, name, rand, long, trunc, clink, norris";

--ONLY present in this file.
CB_STICKY = "sticky";
CB_SHORTLFG = "shortLFG";
CB_HIDEBOTTOMBUTTON = "hideBottomButton";
CB_THROTTLE = "throttle";
CB_GTHROTTLE = "gthrottle";
CB_HIDEGOSSIP = "hideGossip";
CB_USEARROWS = "useArrows";
CB_EDITATTOP = "editAtTop";
CB_HIDEEMOTEBUTTON = "hideEmoteButton";
CB_MENUSIDE = "buttonsOnLeft";
CB_COLORNAMES = "colorNames";
CB_COLORRANDOM = "colorRandom";
CB_LONGSTRINGS = "longStrings";
CB_TRUNCLENGTH = "truncLength";
CB_CLINK = "clink";
CB_NORRIS = "chuckNorris";
CB_VERBOSE = "verbose";

CB_ERRORMSG = "You have typed an invalid option. Type /chatbox or /cb to see the options";

--ONLY present in this file.
CB_STICKY_SHORT = "sti";
CB_SHORTLFG_SHORT = "lfg";
CB_HIDEBOTTOMBUTTON_SHORT = "bot";
CB_THROTTLE_SHORT = "thr";
CB_GTHROTTLE_SHORT = "gthr";
CB_HIDEGOSSIP_SHORT = "gos";
CB_USEARROWS_SHORT = "use";
CB_EDITATTOP_SHORT = "edit";
CB_HIDEEMOTEBUTTON_SHORT = "emo";
CB_MENUSIDE_SHORT = "left";
CB_COLORNAMES_SHORT = "name";
CB_COLORRANDOM_SHORT = "rand";
CB_LONGSTRINGS_SHORT = "long";
CB_TRUNCLENGTH_SHORT = "trunc";
CB_CLINK_SHORT = "clink";
CB_NORRIS_SHORT = "norris";

CB_STICKY_HELP_TEXT = " - change the default sticky behavior";
CB_SHORTLFG_HELP_TEXT = " - change the LookingForGroup channel tag to LFG";
CB_HIDEBOTTOMBUTTON_HELP_TEXT = " - hide/show the scroll-to-bottom button ";
CB_THROTTLE_HELP_TEXTA = " - change the number of words that must match for enchant nuker";
CB_THROTTLE_HELP_TEXTB = "to disable, ";
CB_THROTTLE_HELP_TEXTC = " are acceptable values ";
CB_GTHROTTLE_HELP_TEXTA = " - change the number of words that must match for guild nuker";
CB_GTHROTTLE_HELP_TEXTB = "to disable, ";
CB_GTHROTTLE_HELP_TEXTC = " are acceptable values ";
CB_HIDEGOSSIP_HELP_TEXT = " - show/hide the idle gossip frame when talking to NPC's. ";
CB_USEARROWS_HELP_TEXT = " - use the arrow keys to navigate chat edit box. ";
CB_EDITATTOP_HELP_TEXT = " - place the edit box at the top of the scroll frame. "
CB_HIDEEMOTEBUTTON_HELP_TEXT


or/logging"
	"www.velocidex.com/golang/velociraptor/services"
	"www.velocidex.com/golang/velociraptor/utils"
	"www.velocidex.com/golang/velociraptor/vql"
	vql_subsystem "www.velocidex.com/golang/velociraptor/vql"
	"www.velocidex.com/golang/velociraptor/vql/acl_managers"
	"www.velocidex.com/golang/velociraptor/vql/functions"
	"www.velocidex.com/golang/velociraptor/vql/tools/collector"
	vql_utils "www.velocidex.com/golang/velociraptor/vql/utils"
	"www.velocidex.com/golang/vfilter/arg_parser"

	"www.velocidex.com/golang/vfilter"
)

type ScheduleHuntFunctionArg struct {
	Description   string           `vfilter:"optional,field=description,doc=Description of the hunt"`
	Artifacts     []string         `vfilter:"required,field=artifacts,doc=A list of artifacts to collect"`
	Expires       vfilter.LazyExpr `vfilter:"optional,field=expires,doc=A time for expiry (e.g. now() + 1800)"`
	Spec          vfilter.Any      `vfilter:"optional,field=spec,doc=Parameters to apply to the artifacts"`
	Timeout       uint64           `vfilter:"optional,field=timeout,doc=Set query timeout (default 10 min)"`
	OpsPerSecond  float64          `vfilter:"optional,field=ops_per_sec,doc=Set query ops_per_sec value"`
	CpuLimit      float64          `vfilter:"optional,field=cpu_limit,doc=Set query ops_per_sec value"`
	IopsLimit     float64          `vfilter:"optional,field=iops_limit,doc=Set query ops_per_sec value"`
	MaxRows       uint64           `vfilter:"optional,field=max_rows,doc=Max number of rows to fetch"`
	MaxBytes      uint64           `vfilter:"optional,field=max_bytes,doc=Max number of bytes to upload"`
	Pause         bool             `vfilter:"optional,field=pause,doc=If specified the new hunt will be in the paused state"`
	IncludeLabels []string         `vfilter:"optional,field=include_labels,doc=If specified only include these labels"`
	ExcludeLabels []string         `vfilter:"optional,field=exclude_labels,doc=If specified exclude these labels"`
	OS            string           `vfilter:"optional,field=os,doc=If specified target this OS"`
	OrgIds        []string         `vfilter:"optional,field=org_id,doc=If set the collection will be started in the specified orgs."`
}

type ScheduleHuntFunction struct{}

func (self *ScheduleHuntFunction) Call(ctx context.Context,
	scope vfilter.Scope,
	args *ordereddict.Dict) vfilter.Any {

	err := vql_subsystem.CheckAccess(scope, acls.START_HUNT)
	if err != nil {
		scope.Log("hunt: %v", err)
		return vfilter.Null{}
	}

	arg := &ScheduleHuntFunctionArg{}
	err = arg_parser.ExtractArgsWithContext(ctx, scope, args, arg)
	if err != nil {
		scope.Log("hunt: %v", err)
		return vfilter.Null{}
	}

	var expires uint64
	if !utils.IsNil(arg.Expires) {
		expiry_time, err := functions.TimeFromAny(ctx, scope, arg.Expires.Reduce(ctx))
		if err != nil {
			scope.Log("hunt: expiry time invalid: %v", err)
			return vfilter.Null{}
		}

		// Check the time is in the future
		if expiry_time.Before(time.Now()) {
			scope.Log("hunt: expiry time %v in the past",


ionProfile
title: IMbnConnectionProfileManager::CreateConnectionProfile (mbnapi.h)
description: Creates a new connection profile for the device.
helpviewer_keywords: ["CreateConnectionProfile","CreateConnectionProfile method [Microsoft Broadband Networks]","CreateConnectionProfile method [Microsoft Broadband Networks]","IMbnConnectionProfileManager interface","IMbnConnectionProfileManager interface [Microsoft Broadband Networks]","CreateConnectionProfile method","IMbnConnectionProfileManager.CreateConnectionProfile","IMbnConnectionProfileManager::CreateConnectionProfile","mbn.imbnconnectionprofilemanager_createconnectionprofile","mbnapi/IMbnConnectionProfileManager::CreateConnectionProfile"]
old-location: mbn\imbnconnectionprofilemanager_createconnectionprofile.htm
tech.root: mbn
ms.assetid: b9c191cc-aa6f-4548-ad4a-f2b9808c5f23
ms.date: 12/05/2018
ms.keywords: CreateConnectionProfile, CreateConnectionProfile method [Microsoft Broadband Networks], CreateConnectionProfile method [Microsoft Broadband Networks],IMbnConnectionProfileManager interface, IMbnConnectionProfileManager interface [Microsoft Broadband Networks],CreateConnectionProfile method, IMbnConnectionProfileManager.CreateConnectionProfile, IMbnConnectionProfileManager::CreateConnectionProfile, mbn.imbnconnectionprofilemanager_createconnectionprofile, mbnapi/IMbnConnectionProfileManager::CreateConnectionProfile
req.header: mbnapi.h
req.include-header:
req.target-type: Windows
req.target-min-winverclnt: Windows 7 [desktop apps only]
req.target-min-winversvr: None supported
req.kmdf-ver:
req.umdf-ver:
req.ddi-compliance:
req.unicode-ansi:
req.idl: Mbnapi.idl
req.max-support:
req.namespace:
req.assembly:
req.type-library:
req.lib:
req.dll:
req.irql:
targetos: Windows
req.typenames:
req.redist:
ms.custom: 19H1
f1_keywords:
 - IMbnConnectionProfileManager::CreateConnectionProfile
 - mbnapi/IMbnConnectionProfileManager::CreateConnectionProfile
dev_langs:
 - c++
topic_type:
 - APIRef
 - kbSyntax
api_type:
 - COM
api_location:
 - mbnapi.h
api_name:
 - IMbnConnectionProfileManager.CreateConnectionProfile
---

# IMbnConnectionProfileManager::CreateConnectionProfile

## -description

> [!IMPORTANT]
> Starting in Windows 10, version 1803, the Win32 APIs described in this section are replaced by the Windows Runtime APIs in the [Windows.Networking.Connectivity](/uwp/api/windows.networking.connectivity) namespace.

Creates a new connection profile for the device.

## -parameters

### -param xmlProfile [in]

A null-terminated string that contains the profile data in XML format compliant with the Mobile Broadband Profile Schema Reference.

## -returns

This method can return one of these values.

Return code
Description

S_OK

The method completed successfully.

HRESULT_FROM_WIN32(ERROR_ALREADY_EXISTS)

A profile with the given name already exists.

E_MBN_INVALID_


_governance_vote_internal">vote_internal(voter: &signer, stake_pool: address, proposal_id: u64, voting_power: u64, should_pass: bool)

Implementation

fun vote_internal(
    voter: &signer,
    stake_pool: address,
    proposal_id: u64,
    voting_power: u64,
    should_pass: bool,
) acquires ApprovedExecutionHashes, VotingRecords, VotingRecordsV2, GovernanceEvents {
    permissioned_signer::assert_master_signer(voter);
    let voter_address = signer::address_of(voter);
    assert!(stake::get_delegated_voter(stake_pool) == voter_address, error::invalid_argument(ENOT_DELEGATED_VOTER));

    assert_proposal_expiration(stake_pool, proposal_id);

    // If a stake pool has already voted on a proposal before partial governance voting is enabled,
    // `get_remaining_voting_power` returns 0.
    let staking_pool_voting_power = get_remaining_voting_power(stake_pool, proposal_id);
    voting_power = min(voting_power, staking_pool_voting_power);

    // Short-circuit if the voter has no voting power.
    assert!(voting_power > 0, error::invalid_argument(ENO_VOTING_POWER));

    voting::vote<Governanc


== 0 then
 			if A333DR_audio_panel_fo_listen_pos[i] == 0 then
 				A333DR_audio_panel_fo_listen_pos[i] = -0.2
 				 A333DR_audio_panel_fo_listen_status[i] = 1
 			elseif A333DR_audio_panel_fo_listen_pos[i] == 1 then
				A333DR_audio_panel_fo_listen_pos[i] = -0.2
				 A333DR_audio_panel_fo_listen_status[i] = 0
			end
		elseif phase == 2 then
			if A333DR_audio_panel_fo_listen_status[i] == 1 then
				A333DR_audio_panel_fo_listen_pos[i] = 1
			elseif A333DR_audio_panel_fo_listen_status[i] == 0 then
				A333DR_audio_panel_fo_listen_pos[i] = 0
			end
         end
    end
end

for i = 0, NUM_OBS_LISTENING_KNOBS-1 do

    -- CREATE THE COVER HANDLER FUNCTIONS
	A333_audio_obs_listen_press_CMDhandler[i] = function(phase, duration)

        if phase == 0 then
 			if A333DR_audio_panel_obs_listen_pos[i] == 0 then
 				A333DR_audio_panel_obs_listen_pos[i] = -0.2
 				 A333DR_audio_panel_obs_listen_status[i] = 1
 			elseif A333DR_audio_panel_obs_listen_pos[i] == 1 then
				A333DR_audio_panel_obs_listen_pos[i] = -0.2
				 A333DR_audio_panel_obs_listen_status[i] = 0
			end
		elseif phase == 2 then
			if A333DR_audio_panel_obs_listen_status[i] == 1 then
				A333DR_audio_panel_obs_listen_pos[i] = 1
			elseif A333DR_audio_panel_obs_listen_status[i] == 0 then
				A333DR_audio_panel_obs_listen_pos[i] = 0
			end
         end
    end
end

-- AI

function A333_ai_audio_quick_start_CMDhandler(phase, duration)
    if phase == 0 then
	  	A333_set_audio_all_modes()
	  	A333_set_audio_CD()
	  	A333_set_audio_ER()
	end
end

--*************************************************************************************--
--** 				              CREATE CUSTOM COMMANDS              			     **--
--*************************************************************************************--

-- AI

A333CMD_ai_audio_quick_start		= create_command("laminar/A333/ai/audio_quick_start", "number", A333_ai_audio_quick_start_CMDhandler)

-- AUDIO PANEL MIC SELECTOR COMMANDS

	-- CAPT

A333CMD_capt_push_mic1			= create_command("laminar/A333/audio/capt/mic_push1", "Captain VHF1 Mic", A333_capt_push_mic1_CMDhandler)
A333CMD_capt_push_mic2			= create_command("laminar/A333/audio/capt/mic_push2", "Captain VHF2 Mic", A333_capt_push_mic2_CMDhandler)
A333CMD_capt_push_mic3			= create_command("laminar/A333/audio/capt/mic_push3", "Captain VHF3 Mic", A333_capt_push_mic3_CMDhandler)
A333CMD_capt_push_mic4			= create_command("laminar/A333/audio/capt/mic_push4", "Captain HF1 Mic", A333_capt_push_mic4_CMDhandler)
A333CMD_capt_push_mic5			= create_command("laminar/A333/audio/capt/


t be provided in string in the format
 *   "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", where each 'x' is a hexadecimal digit, either lowercase
 *   or uppercase.
 */
@CodyzeDsl
fun AssumptionsBuilder.DecisionBuilder.reject(uuid: String) {
    assumptionStatusFunctions[{ it.id == Uuid.parse(uuid) }] = AssumptionStatus.Rejected
}

/**
 * Describes that the assumption with the given [uuid] requires assessment.
 *
 * @param uuid The UUID of the assumption must be provided in string in the format
 *   "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", where each 'x' is a hexadecimal digit, either lowercase
 *   or uppercase.
 */
@CodyzeDsl
fun AssumptionsBuilder.DecisionBuilder.undecided(uuid: String) {
    assumptionStatusFunctions[{ it.id == Uuid.parse(uuid) }] = AssumptionStatus.Undecided
}

/** Describes the manual assessments. */
@CodyzeDsl
fun ProjectBuilder.manualAssessment(block: ManualAssessmentBuilder.() -> Unit) {
    manualAssessmentBuilder.apply(block)
}

sealed class OfReturnType

object OfQueryTree : OfReturnType()

object OfBoolean : OfReturnType()

/**
 * Describes a manual assessment of a requirement with the given [id]. The [block] is expected to
 * return a [QueryTree] that evaluates to `true` if the requirement is fulfilled.
 */
@CodyzeDsl
@OverloadResolutionByLambdaReturnType
fun ManualAssessmentBuilder.of(
    id: String,
    block: TranslationResult.() -> QueryTree<Boolean>,
): OfQueryTree {
    assessments[id] = { block() }
    return OfQueryTree
}

/**
 * Describes a manual assessment of a requirement with the given [id]. The [block] is expected to
 * return a [Boolean] that evaluates to `true` if the requirement is fulfilled.
 */
@CodyzeDsl
fun ManualAssessmentBuilder.of(id: String, block: TranslationResult.() -> Boolean): OfBoolean {
    assessments[id] = { block().toQueryTree(collectCallerInfo = true) }
    return OfBoolean
}
/*
 * Copyright (c) 2024, Fraunhofer AISEC. All rights reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 *                    $$$$$$\  $$$$$$$\   $$$$$$\
 *                   $$  __$$\ $$  __$$\ $$  __$$\
 *                   $$ /  \__|$$ |  $$ |$$ /  \__|
 *                   $$ |      $$$$$$$  |$$ |$$$$\
 *                   $$ |      $$  ____/ $$ |\_$$ |
 *                   $$ |  $$\ $$ |      $$ |  $$ |
 *                   \$$$$$   |$$ |      \$$$$$   |
 *                    \______/ \__|       \______/
 *
 */
package de.fraunhofer.aisec.cpg.enhancements

import de.fraunhofer.aisec.cpg.InferenceConfiguration
import de.fraunhofer.aisec.cpg.TranslationConfiguration
import de.fraunhofer.aisec.cpg.TranslationResult
import de.fraunhofer.aisec.cpg.frontends.TestLanguage
import de.fraunhofer.aisec.cpg.frontends.testFrontend
import de.fraunhofer.aisec.cpg.graph.*
import de.fraunhofer.aisec.cpg.graph.builder.*
import de.fraunhofer.aisec.cpg.graph.edges.flows.CallingContextIn
import de.fraunhofer.aisec.cpg.graph.edges.flows.


n"],
"迷离": ["mí", "lí"],
"迷恋": ["mí", "liàn"],
"迷路": ["mí", "lù"],
"迷乱": ["mí", "luàn"],
"迷漫": ["mí", "màn"],
"迷茫": ["mí", "máng"],
"迷蒙": ["mí", "méng"],
"迷梦": ["mí", "mèng"],
"迷你": ["mí", "nǐ"],
"迷人": ["mí", "rén"],
"迷途": ["mí", "tú"],
"迷失": ["mí", "shī"],
"迷惘": ["mí", "wǎng"],
"迷误": ["mí", "wù"],
"迷雾": ["mí", "wù"],
"迷眩": ["mí", "xuàn"],
"迷信": ["mí", "xìn"],
"迷眼": ["mí", "yǎn"],
"迷阵": ["mí", "zhèn"],
"迷醉": ["mí", "zuì"],
"糜费": ["mí", "fèi"],
"糜烂": ["mí", "làn"],
"糜子": ["méi", "zǐ"],
"麋鹿": ["mí", "lù"],
"靡丽": ["mǐ", "lì"],
"靡费": ["mí", "fèi"],
"靡靡": ["mǐ", "mǐ"],
"米尺": ["mǐ", "chǐ"],
"米醋": ["mǐ", "cù"],
"米粉": ["mǐ", "fěn"],
"米饭": ["mǐ", "fàn"],
"米黄": ["mǐ", "huáng"],
"米酒": ["mǐ", "jiǔ"],
"米粒": ["mǐ", "lì"],
"米面": ["mǐ", "miàn"],
"米色": ["mǐ", "sè"],
"米汤": ["mǐ", "tāng"],
"米虾": ["mǐ", "xiā"],
"米雪": ["mǐ", "xuě"],
"米制": ["mǐ", "zhì"],
"弭谤": ["mǐ", "bàng"],
"弭兵": ["mǐ", "bīng"],
"弭患": ["mǐ", "huàn"],
"弭乱": ["mǐ", "luàn"],
"敉平": ["mǐ", "píng"],
"汨罗": ["mì", "luó"],
"泌阳": ["bì", "yáng"],
"觅取": ["mì", "qǔ"],
"觅食": ["mì", "shí"],
"秘宝": ["mì", "bǎo"],
"秘本": ["mì", "běn"],
"秘藏": ["mì", "cáng"],
"秘传": ["mì", "chuán"],
"秘方": ["mì", "fāng"],
"秘籍": ["mì", "jí"],
"秘诀": ["mì", "jué"],
"秘鲁": ["bì", "lǔ"],
"秘密": ["mì", "mì"],
"秘史": ["mì", "shǐ"],
"秘书": ["mì", "shū"],
"密密": ["mì", "mì"],
"密语": ["mì", "yǔ"],
"密云": ["mì", "yún"],
"�


.com/magento/magento2/pull/20488) | [20487](https://github.com/magento/magento2/issues/20487) |
| ajay2jcommerce | [#20581](https://github.com/magento/magento2/pull/20581) | [20580](https://github.com/magento/magento2/issues/20580) |
| lfluvisotto | [#20628](https://github.com/magento/magento2/pull/20628) |  |
| shochdoerfer | [#20653](https://github.com/magento/magento2/pull/20653) |  |
| GovindaSharma | [#20634](https://github.com/magento/magento2/pull/20634) | [20631](https://github.com/magento/magento2/issues/20631) |
| amol2jcommerce | [#20725](https://github.com/magento/magento2/pull/20725) | [20723](https://github.com/magento/magento2/issues/20723) |
| satyaprakashpatel | [#20759](https://github.com/magento/magento2/pull/20759) |  |
| phoenix128 | [#17424](https://github.com/magento/magento2/pull/17424) | [1537](https://github.com/magento/magento2/issues/1537) |
| pmclain | [#18978](https://github.com/magento/magento2/pull/18978) | [18953](https://github.com/magento/magento2/issues/18953) |
| janakbhimani | [#19798](https://github.com/magento/magento2/pull/19798) | [19714](https://github.com/magento/magento2/issues/19714) |
| mfickers | [#20109](https://github.com/magento/magento2/pull/20109) | [19705](https://github.com/magento/magento2/issues/19705) |
| GovindaSharma | [#20159](https://github.com/magento/magento2/pull/20159) | [20157](https://github.com/magento/magento2/issues/20157) |
| irajneeshgupta | [#20383](https://github.com/magento/magento2/pull/20383) | [20382](https://github.com/magento/magento2/issues/20382) |
| kassner | [#20436](https://github.com/magento/magento2/pull/20436) |  |
| XxXgeoXxX | [#20565](https://github.com/magento/magento2/pull/20565) | [13675](https://github.com/magento/magento2/issues/13675) |
| elevinskii | [#20769](https://github.com/magento/magento2/pull/20769) |  |
| Stoux | [#20770](https://github.com/magento/magento2/pull/20770) |  |
| krishna221993 | [#20775](https://github.com/magento/magento2/pull/20775) |  |
| eduard13 | [#20787](https://github.com/magento/magento2/pull/20787) | [20786](https://github.com/magento/magento2/issues/20786) |
| eduard13 | [#20803](https://github.com/magento/magento2/pull/20803) | [20802](https://github.com/magento/magento2/issues/20802) |
| abrarpathan19 | [#20861](https://github.com/magento/magento2/pull/2086


�架
活动：更新库存信息

### 塔玛拉
位置：the Ville，塔玛拉和卡门的家，厨房，烹饪区
活动：烹饪主菜

### 亚瑟
位置：the Ville，玫瑰酒吧，酒吧，吧台后面
活动：清洁和整理酒吧柜台

### 伊莎贝拉
位置：the Ville，哈维奥克供应店，供应店，供应店产品货架
活动：检查派对所需的食物和饮料是否充足

### 山姆
位置：the Ville，霍布斯咖啡馆，咖啡馆，咖啡馆柜台后面
活动：山姆询问伊莎贝拉情人节派对的筹备情况，伊莎贝拉表示一切顺利并邀请山姆参加派对。

### 弗朗西斯科
位置：the Ville，艺术家共居空间，厨房，厨房水槽
活动：制作沙拉

### 拉吉夫
位置：the Ville，艺术家共居空间，厨房，烹饪区
活动：拉吉夫与海莉交流了各自的创作灵感，海莉分享了一道融合多文化风味的炖菜，而拉吉夫则寻求将即兴喜剧元素融入绘画的建议。海莉建议他在画中加入即兴动作和表情以增加真实感和趣味性，拉吉夫对此表示赞同并期待实践这一创意。

### 卡洛斯
位置：the Ville，奥克山学院，走廊
活动：收集反馈和建议

### 乔治
位置：the Ville，奥克山学院宿舍，克劳斯的房间，书桌
活动：参与在线课程视频的学习

## 对话记录：

### 沃尔夫冈 -> 玛丽亚 @ the Ville，奥克山学院宿舍，厨房，冰箱

`沃尔夫冈`
> 嗨，玛丽亚，你今天也在准备晚饭吗？我看到你在处理蔬菜和肉类，看起来很丰盛啊。我在想晚餐做点鸡肉沙拉，你觉得怎么样？

`玛丽亚`
> 嗨，沃尔夫冈！是的，我今天也在准备晚饭。鸡肉沙拉听起来不错，既健康又美味。你打算加些什么配料呢？

`沃尔夫冈`
> 我想加一些生菜、樱桃番茄和


/*
** Nofrendo (c) 1998-2000 Matthew Conte (matt@conte.com)
**
**
** This program is free software; you can redistribute it and/or
** modify it under the terms of version 2 of the GNU Library General
** Public License as published by the Free Software Foundation.
**
** This program is distributed in the hope that it will be useful,
** but WITHOUT ANY WARRANTY; without even the implied warranty of
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
** Library General Public License for more details.  To obtain a
** copy of the GNU Library General Public License, write to the Free
** Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
**
** Any permitted reproduction of these routines, in whole or in part,
** must bear this legend.
**
**
** map66.c
**
** mapper 66 interface
** $Id: map066.c,v 1.2 2001/04/27 14:37:11 neil Exp $
*/

#include "nes_mmc.h"

/* mapper 66: GNROM */
static void map66_write(uint32 address, uint8 value)
{
   UNUSED(address);

   mmc_bankrom(32, 0x8000, (value >> 4) & 3);
   mmc_bankvrom(8, 0x0000, value & 3);
}

static void map66_init(void)
{
   mmc_bankrom(32, 0x8000, 0);
   mmc_bankvrom(8, 0x0000, 0);
}

static map_memwrite map66_memwrite[] =
{
   { 0x8000, 0xFFFF, map66_write },
   {     -1,     -1, NULL }
};

mapintf_t map66_intf =
{
   66, /* mapper number */
   "GNROM", /* mapper name */
   map66_init, /* init routine */
   NULL, /* vblank callback */
   NULL, /* hblank callback */
   NULL, /* get state (snss) */
   NULL, /* set state (snss) */
   NULL, /* memory read structure */
   map66_memwrite, /* memory write structure */
   NULL /* external sound device */
};

/*
** $Log: map066.c,v $
** Revision 1.2  2001/04/27 14:37:11  neil
** wheeee
**
** Revision 1.1  2001/04/27 12:54:40  neil
** blah
**
** Revision 1.1.1.1  2001/04/27 07:03:54  neil
** initial
**
** Revision 1.1  2000/10/24 12:19:33  matt
** changed directory structure
**
** Revision 1.5  2000/10/22 19:17:46  matt
** mapper cleanups galore
**
** Revision 1.4  2000/10/21 19:33:38  matt
** many more cleanups
**
** Revision 1.3  2000/08/16 02:50:11  matt
** random mapper cleanups
**
** Revision 1.2  2000/07/06 02:48:43  matt
** clearly labelled structure members
**
** Revision 1.1  2000/07/05 05:05:18  matt
** initial revision
**
*/


[class*=signUpProcess-step-] #captchaFrame .loading{position:absolute;left:0;right:0;top:4rem;text-align:center;z-index:1;display:block}[class*=signUpProcess-step-] .spinner.large{height:14rem}[class*=signUpProcess-step-] .spinner.large .spinner1,[class*=signUpProcess-step-] .spinner.large .spinner2,[class*=signUpProcess-step-] .spinner.large .spinner3{background-color:#9397cd}[class*=signUpProcess-step-] .signup-radio-label{height:1.5rem}[class*=signUpProcess-step-] .signup-radio-label-text{color:#000;font-size:1rem}[class*=signUpProcess-step-] .creating-loader-container,[class*=signUpProcess-step-] .genNewKeys-loader-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}body.appConfigBody-is-mobile [class*=signUpProcess-step-],body.appConfigBody-is-mobile [class*=signUpProcess-step-] .pm_panel{margin:0}body.appConfigBody-is-mobile [class*=signUpProcess-step-] [data-step]:before{display:none}body.appConfigBody-is-mobile [class*=signUpProcess-step-] .wrapper{padding:0}body.appConfigBody-is-mobile [class*=signUpProcess-step-] .wrapper label{margin-top:3rem}body.appConfigBody-is-mobile .signUpProcess-btn-create{width:100%;height:4rem;line-height:4rem}html.protonmail body.light{background-color:#f4f4f4}html.protonmail body.blank{background-color:#fff}body#eo-message{overflow:initial;background:#4d4c5d}body#eo-message #pm_footer{position:static}body#eo-message #attachmentArea{margin:0}body#eo-message .message-head{padding-left:35px;padding-right:35px}body#eo-reply{overflow:initial;background:#4d4c5d}body#eo-reply #attachmentArea{margin:0}body#eo-reply .composer-outside-container{position:relative}body#eo-reply .composer-askEmbedding,body#eo-reply .composer-dropzone,body#eo-reply .squireToolbar-text-mode{display:none!important}body#eo-reply .composer-dropzone *{pointer-events:none}body#eo-reply .composer-draggable:not(.composer-draggable-editor) .composer-dropzone{position:absolute;top:0;right:0;left:0;bottom:0;background:#fff;z-index:10;display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-content:center;-ms-flex-line-pack:center;align-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}body#eo-reply .composer-draggable:not(.composer-draggable-editor) .composer-dropzone *{display:block!important}body#eo-reply .composer-draggable-editor .composer-askEmbedding{display:-webkit-box!important;display:-webkit-flex!important;display:-ms-flexbox!important;display:flex!important}body#eo-reply .composer-outside-editor iframe{width:100%;padding:1rem 25px;-webkit-box-sizing:border-box;box-sizing:border-box}body#eo-reply #pm_footer{position:static}body#eo-reply .outside .message-


InsertOrUpdate(List<R> objects, boolean autoIncrement, List<ISqlColumnExpression> conflictColumns, List<ISqlColumnExpression> updateColumns) {
        try {
            IInsertOrUpdate insertOrUpdater = config.getInsertOrUpdate();
            MetaData metaData = config.getMetaData(getTableType());
            List<FieldMetaData> insertFields = metaData.getNotIgnoreAndNavigateAndGeneratedKeyFields();
            String sql = insertOrUpdater.insertOrUpdate(metaData, insertFields, conflictColumns, updateColumns);
            List<List<SqlValue>> sqlValues = buildValue(objects, insertFields);
            return execute(metaData, objects, sql, sqlValues, autoIncrement);
        } catch (InvocationTargetException | IllegalAccessException e) {
            throw new RuntimeException(e);
        }
    }

    private String buildSql(List<FieldMetaData> notIgnoreFields) throws InvocationTargetException, IllegalAccessException {
        IConfig config = getConfig();
        IDialect dialect = config.getDisambiguation();
        MetaData metaData = config.getMetaData(getTableType());
        List<String> fields = new ArrayList<>();
        List<String> tableValues = new ArrayList<>();
        for (FieldMetaData fieldMetaData : notIgnoreFields) {
            // 如果不是数据库生成策略，则添加
            if (fieldMetaData.isGeneratedKey()) continue;
            fields.add(dialect.disambiguation(fieldMetaData.getColumnName()));
            if (fieldMetaData.hasLogicColumn()) {
                LogicColumn logicColumn = fieldMetaData.getLogicColumn();
                tableValues.add(logicColumn.onWrite(config));
            }
            else {
                tableValues.add("?");
            }
        }
        return "INSERT INTO " + dialect.disambiguationTableName(metaData.getTableName()) + "(" + String.join(",", fields) + ") VALUES(" + String.join(",", tableValues) + ")";
    }

    private List<List<SqlValue>> buildValue(List<R> objects, List<FieldMetaData> insertFields) throws InvocationTargetException, IllegalAccessException {
        Aop aop = config.getAop();
        AbsBeanCreator<R> beanCreator = config.getBeanCreatorFactory().get(getTableType());
        List<List<SqlValue>> sqlValues = new ArrayList<>(objects.size());
        for (R object : objects) {
            List<SqlValue> values = new ArrayList<>();
            aop.callOnInsert(object);
            for (FieldMetaData fieldMetaData : insertFields) {
                // 如果是数据库生成策略，则跳过
                if (fieldMetaData.isGeneratedKey()) continue;
                IGetterCaller<R, ?> beanGetter = beanCreator.getBeanGetter(fieldMetaData.getFieldName());
                Object value = beanGetter.apply(object);
                ITypeHandler<?> typeHandler = fieldMetaData.getTypeHandler();
                // 值为空同时设置了notNull且没有默认值注解的情况
                if (value == null && fieldMetaData.isNotNull()) {
                    throw new DrinkException(String.format("%s类的%s字段被设置为notnull，但是字段值为空且没有设置默认值注解", fieldMetaData.getParentType(), fieldMetaData.getFieldName()));
                }
                values.add(new SqlValue(value, typeHandler));
            }
            sqlValues.add(values);
        }
        return sqlValues;
    }

    private long execute(MetaData metaData, List<R> objects, String s


bject.entries(e)){const e=[...r,a];Array.isArray(o)?n[a]=o.map(((r,n)=>"object"!=typeof r||Array.isArray(r)||null===r?r:Jye(r,t,[...e,n.toString()]))):n[a]="object"!=typeof o||null===o?o:Jye(o,t,e)}return t(n,r)}function eOe(e){const t=[];return e&&"object"==typeof e?(Jye(e,(e=>(e.$ref&&"string"==typeof e.$ref&&!e.$ref.startsWith("#")&&t.push(e.$ref.split("#")[0]),e))),[...new Set(t)]):t}function tOe(e){return void 0!==e&&Array.isArray(e)&&e.length>0&&e.some((e=>!0===e.isEntrypoint))}function rOe(e){if(null!==e){if("string"==typeof e){if(""===e.trim())return;try{return JSON.parse(e)}catch(t){const r=/^[^:]+:/.test(e),n=e.slice(0,50).trimStart().startsWith("{");if(!r||n)return;return Gf(e,{maxAliasCount:1e4})}}return tOe(e),e}}function nOe(e,t={}){if(tOe(e))return e;const r=rOe(e);return[{isEntrypoint:!0,specification:r,filename:null,dir:"./",references:eOe(r),...t}]}function aOe(e){return decodeURI(e.replace(/~1/g,"/").replace(/~0/g,"~"))}function oOe(e,t,r,n=[]){const a=nOe(structuredClone(e)),o=Kye(a),i=r?.specification??o.specification;return Gye(i)?(iOe(i,a,o,new WeakSet,n,t),n=n.filter(((e,t,r)=>t===r.findIndex((t=>t.message===e.message&&t.code===e.code)))),{valid:0===n.length,errors:n,schema:i}):{valid:!1,errors:n,schema:i}}function iOe(e,t,r,n,a,o){if(null!==e&&!n.has(e)){for(n.add(e);void 0!==e.$ref;){const n=sOe(e.$ref,o,r,t,i,a);if("object"!=typeof n||null===n)break;e.$ref,delete e.$ref;for(const t of Object.keys(n))void 0===e[t]&&(e[t]=n[t])}for(const i of Object.values(e))"object"==typeof i&&null!==i&&iOe(i,t,r,n,a,o)}function i(e){return iOe(e.specification,t,e,n,a,o),e}}function sOe(e,t,r,n,a,o){if("string"!=typeof e)return void o.push({code:"INVALID_REFERENCE",message:Xye.INVALID_REFERENCE.replace("%s",e)});const[i,s]=e.split("#",2),l=i!==r.filename;if(i&&l){const e=n.find((e=>e.filename===i));return e?void 0===s?e.specification:sOe(`#${s}`,t,a(e),n,a,o):void o.push({code:"EXTERNAL_REFERENCE_NOT_FOUND",message:Xye.EXTERNAL_REFERENCE_NOT_FOUND.replace("%s",i)})}const c=function(e){return e.split("/").slice(1).map(aOe)}(s);try{return c.reduce(((e,t)=>e[t]),r.specification)}catch(t){o.push({code:"INVALID_REFERENCE",message:Xye.INVALID_REFERENCE.replace("%s",e)})}}async function lOe(e,t){const r=nOe(e),n=Kye(r),a=oOe(r,t);return{specification:n.specification,errors:a.errors,schema:a.schema,...Yye(n.specification)}}const cOe=async(e,{shouldLoad:t=!0,dereferencedDocument:r}={})=>{const{schema:n,errors:a}=r?{schema:r,errors:[]}:await(async(e,{shouldLoad:t=!0}={})=>{if(null===e||"string"==typeof e&&""===e.trim())


ErrTimeTooOld)
	})
}

func TestCheckParentsIncest(t *testing.T) {
	testutils.ForAllNets(t, true, func(t *testing.T, consensusConfig *consensus.Config) {
		factory := consensus.NewFactory()
		tc, teardown, err := factory.NewTestConsensus(consensusConfig, "TestCheckParentsIncest")
		if err != nil {
			t.Fatalf("Error setting up consensus: %+v", err)
		}
		defer teardown(false)

		a, _, err := tc.AddBlock([]*externalapi.DomainHash{consensusConfig.GenesisHash}, nil, nil)
		if err != nil {
			t.Fatalf("AddBlock: %+v", err)
		}

		b, _, err := tc.AddBlock([]*externalapi.DomainHash{a}, nil, nil)
		if err != nil {
			t.Fatalf("AddBlock: %+v", err)
		}

		c, _, err := tc.AddBlock([]*externalapi.DomainHash{consensusConfig.GenesisHash}, nil, nil)
		if err != nil {
			t.Fatalf("AddBlock: %+v", err)
		}

		version := constants.BlockVersion
		directParentsRelationBlock := &externalapi.DomainBlock{
			Header: blockheader.NewImmutableBlockHeader(
				version,
				[]externalapi.BlockLevelParents{[]*externalapi.DomainHash{a, b}},
				&externalapi.DomainHash{},
				&externalapi.DomainHash{},
				&externalapi.DomainHash{},
				0,
				0,
				0,
				0,
				0,
				big.NewInt(0),
				&externalapi.DomainHash{},
			),
			Transactions: nil,
		}

		err = tc.ValidateAndInsertBlock(directParentsRelationBlock, true)
		if !errors.Is(err, ruleerrors.ErrInvalidParentsRelation) {
			t.Fatalf("unexpected error %+v", err)
		}

		indirectParentsRelationBlock := &externalapi.DomainBlock{
			Header: blockheader.NewImmutableBlockHeader(
				version,
				[]externalapi.BlockLevelParents{[]*externalapi.DomainHash{consensusConfig.GenesisHash, b}},
				&externalapi.DomainHash{},
				&externalapi.DomainHash{},
				&externalapi.DomainHash{},
				0,
				0,
				0,
				0,
				0,
				big.NewInt(0),
				&externalapi.DomainHash{},
			),
			Transactions: nil,
		}

		err = tc.ValidateAndInsertBlock(indirectParentsRelationBlock, true)
		if !errors.Is(err, ruleerrors.ErrInvalidParentsRelation) {
			t.Fatalf("unexpected error %+v", err)
		}

		// Try to add block with unrelated parents
		_, _, err = tc.AddBlock([]*externalapi.DomainHash{b, c}, nil, nil)
		if err != nil {
			t.Fatalf("AddBlock: %s", err)
		}
	})
}

func TestCheckMergeSizeLimit(t *testing.T) {
	testutils.ForAllNets(t, true, func(t *testing.T, consensusConfig *consensus.Config) {
		consensusConfig.MergeSetSizeLimit = 5
		factory := consensus.NewFactory()
		tc, teardown, err := factory.NewTestConsensus(consensusConfig, "TestCheckMergeSizeLimit")
		if err != nil {
			t.Fatalf("Error setting up consensus: %+v", err)
		}
		defer teardown(false)

		chain1TipHash := consensusConfig.GenesisHash
		// We add a chain larger by one than chain2 below, to make this one the selected chain
		for i := uint64(0); i < consensusConfig.MergeSetSizeLimit+1; i++ {
			chain1TipHash, _, err = tc.AddBlock([]*externalapi.DomainHash{chain1TipHash}, nil, nil)
			if err != nil {
				t.Fatalf("AddBloc


;
        }

        [Fact]
        public void Cs6_ElementAccess()
        {
            SourceTestSpecification.Create()

                // var a = new Class2<Class3>[10];
                .ExpectInvalidSegment(9, 13, 16)
                .ExpectInvalidSegment(9, 13, 16)
                .ExpectInvalidSegment(9, 25, 39)
                .ExpectInvalidSegment(9, 32, 38)

                // a[1] = a[2];
                .ExpectInvalidSegment(10, 13, 14)
                .ExpectInvalidSegment(10, 13, 14)
                .ExpectInvalidSegment(10, 20, 21)
                .ExpectInvalidSegment(10, 20, 21)

                .Execute();
        }

        [Fact]
        public void Cs6_StaticImport()
        {
            SourceTestSpecification.Create()
                .ExpectInvalidSegment(9, 13, 32)
                .ExpectInvalidSegment(10, 13, 34) // because of the return value
                .ExpectInvalidSegment(10, 13, 34) // because of the declaring type
                .Execute();
        }
    }
}


            TheSim:LoadPrefabs(newchars)
            end
            print("Total "..tostring(#Settings.loaded_characters).." character(s) loaded")
        end

        world.has_ocean = savedata.map.has_ocean

		if world.components.oceancolor ~= nil then
			world.components.oceancolor:Initialize(world.has_ocean)
		end

        local map = world.Map

        if world.has_ocean then
            local tuning = TUNING.OCEAN_SHADER
            map:SetOceanEnabled(true)
			map:SetOceanTextureBlurParameters(tuning.TEXTURE_BLUR_PASS_SIZE, tuning.TEXTURE_BLUR_PASS_COUNT)
            map:SetOceanNoiseParameters0(tuning.NOISE[1].ANGLE, tuning.NOISE[1].SPEED, tuning.NOISE[1].SCALE, tuning.NOISE[1].FREQUENCY)
            map:SetOceanNoiseParameters1(tuning.NOISE[2].ANGLE, tuning.NOISE[2].SPEED, tuning.NOISE[2].SCALE, tuning.NOISE[2].FREQUENCY)
            map:SetOceanNoiseParameters2(tuning.NOISE[3].ANGLE, tuning.NOISE[3].SPEED, tuning.NOISE[3].SCALE, tuning.NOISE[3].FREQUENCY)

			local waterfall_tuning = TUNING.WATERFALL_SHADER.NOISE

			map:SetWaterfallFadeParameters(TUNING.WATERFALL_SHADER.FADE_COLOR[1] / 255, TUNING.WATERFALL_SHADER.FADE_COLOR[2] / 255, TUNING.WATERFALL_SHADER.FADE_COLOR[3] / 255, TUNING.WATERFALL_SHADER.FADE_START)
			map:SetWaterfallNoiseParameters0(waterfall_tuning[1].SCALE, waterfall_tuning[1].SPEED, waterfall_tuning[1].OPACITY, waterfall_tuning[1].FADE_START)
			map:SetWaterfallNoiseParameters1(waterfall_tuning[2].SCALE, waterfall_tuning[2].SPEED, waterfall_tuning[2].OPACITY, waterfall_tuning[2].FADE_START)

			local minimap_ocean_tuning = TUNING.OCEAN_MINIMAP_SHADER

			map:SetMinimapOceanEdgeColor0(minimap_ocean_tuning.EDGE_COLOR0[1] / 255, minimap_ocean_tuning.EDGE_COLOR0[2] / 255, minimap_ocean_tuning.EDGE_COLOR0[3] / 255)
			map:SetMinimapOceanEdgeParams0(minimap_ocean_tuning.EDGE_PARAMS0.THRESHOLD, minimap_ocean_tuning.EDGE_PARAMS0.HALF_THRESHOLD_RANGE)

			map:SetMinimapOceanEdgeColor1(minimap_ocean_tuning.EDGE_COLOR1[1] / 255, minimap_ocean_tuning.EDGE_COLOR1[2] / 255, minimap_ocean_tuning.EDGE_COLOR1[3] / 255)
			map:SetMinimapOceanEdgeParams1(minimap_ocean_tuning.EDGE_PARAMS1.THRESHOLD, minimap_ocean_tuning.EDGE_PARAMS1.HALF_THRESHOLD_RANGE)

			map:SetMinimapOceanEdgeShadowColor(minimap_ocean_tuning.EDGE_SHADOW_COLOR[1] / 255, minimap_ocean_tuning.EDGE_SHADOW_COLOR[2] / 255, minimap_ocean_tuning.EDGE_SHADOW_COLOR[3] / 255)
			map:SetMinimapOceanEdgeShadowParams(minimap_ocean_tuning.EDGE_SHADOW_PARAMS.THRESHOLD, minimap_ocean_tuning.EDGE_SHADOW_PARAMS.HALF_THRESHOLD_RANGE, minimap_ocean_tuning.EDGE_SHADOW_PARAMS.UV_OFFSET_X, minimap_ocean_tuning.EDGE_SHADOW_PARAMS.UV_OFFSET_Y)

			map:SetMinimapOceanEdgeFadeParams(minimap_ocean_tuning.EDGE_FADE_PARAMS.THRESHOLD, minimap_ocean_tuning.EDGE_FADE_PARAMS.HALF_THRESHOLD_RANGE, minimap_ocean_tuning.EDGE_FADE_PARAMS.MASK_INSET)


,
	})

	vim.lsp.config("tailwindcss", {
		capabilities = M.capabilities(),
	})

	vim.lsp.enable { "ts_ls", "html", "cssls", "eslint", "tailwindcss" }
end

function M.rust_setup()
	vim.lsp.config("rust_analyzer", {
		capabilities = M.capabilities(),
		-- cmd = vim.lsp.rpc.connect("/tmp/ra-mux.sock"),
		settings = {
			["rust-analyzer"] = {
				cargo = { allFeatures = true },
				procMacro = { enable = true },
				checkOnSave = { command = "clippy" },
				-- lspMux = {
				-- 	version = "1",
				-- 	method = "connect",
				-- 	server = "rust-analyzer",
				-- },
			},
		},
	})
	vim.lsp.enable("rust_analyzer")

	vim.api.nvim_create_autocmd("BufWritePost", {
		pattern = "*/Cargo.toml",
		callback = function()
			for _, client in ipairs(vim.lsp.get_clients { name = "rust_analyzer" }) do
				client.request("rust-analyzer/reloadWorkspace", nil, function() end, 0)
			end
		end,
		group = vim.api.nvim_create_augroup("RustWorkspaceRefresh", { clear = true }),
	})
end

function M.python_setup()
	-- Disable hints, which are covered by `ruff`
	-- https://github.com/lkhphuc/dotfiles/blob/6de9bd6fd5526c337445dc40000ec1573d4e351e/nvim/lua/plugins/extras/python.lua#L9
	local capabilities = M.capabilities {
		textDocument = {
			publishDiagnostics = {
				tagSupport = { valueSet = { 2 } },
			},
		},
	}

	vim.lsp.config("pyright", {
		capabilities = capabilities,
		settings = {
			python = {
				analysis = {
					diagnosticSeverityOverrides = {
						-- https://microsoft.github.io/pyright/#/configuration?id=diagnostic-rule-defaults
						reportMissingImports = "error",
						reportUndefinedVariable = "none",
					},
					typeCheckingMode = "off",
				},
			},
		},
	})
	vim.lsp.enable("pyright")
end

function M.json_setup()
	vim.lsp.config("jsonls", {
		capabilities = M.capabilities(),
		settings = {
			json = {
				schemas = require("schemastore").json.schemas(),
				validate = { enable = true },
			},
		},
	})
	vim.lsp.enable("jsonls")
end

function M.yaml_setup()
	vim.lsp.config("yamlls", {
		capabilities = M.capabilities(),
		settings = {
			yaml = {
				schemas = require("schemastore").yaml.schemas(),
			},
		},
	})
	vim.lsp.enable("yamlls")
end

function M.toml_setup()
	vim.lsp.config("taplo", {
		capabilities = M.capabilities(),
	})
	vim.lsp.enable("taplo")
end

function M.markdown_setup()
	vim.lsp.config("marksman", {
		capabilities = M.capabilities(),
	})
	vim.lsp.enable("marksman")
end

return {
	-- Configurations for build-in LSP of nvim
	{
		"neovim/nvim-lspconfig",
		dependencies = {
			{
				"WhoIsSethDaniel/mason-tool-installer.nvim",
				opts = { ensure_installed = M.mason_tools },
			},
			{ "b0o/SchemaStore.nvim", lazy = true },
		},
		event = { "BufReadPre", "BufNewFile" },
		c


.com)
 * @license https://opensource.org/licenses/AGPL-3.0 AGPL License
 * @link https://www.passbolt.com Passbolt (tm)
 * @since v1.0
 */
class CreateMenuModelIdlingResource : FlaggedIdlingResource()
/**
 * Passbolt - Open source password manager for teams
 * Copyright (c) 2021 Passbolt SA
 *
 * This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General
 * Public License (AGPL) as published by the Free Software Foundation version 3.
 *
 * The name "Passbolt" is a registered trademark of Passbolt SA, and Passbolt SA hereby declines to grant a trademark
 * license to "Passbolt" pursuant to the GNU Affero General Public License version 3 Section 7(e), without a separate
 * agreement with Passbolt SA.
 *
 * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See GNU Affero General Public License for more details.
 *
 * You should have received a copy of the GNU Affero General Public License along with this program. If not,
 * see GNU Affero General Public License v3 (http://www.gnu.org/licenses/agpl-3.0.html).
 *
 * @copyright Copyright (c) Passbolt SA (https://www.passbolt.com)
 * @license https://opensource.org/licenses/AGPL-3.0 AGPL License
 * @link https://www.passbolt.com Passbolt (tm)
 * @since v1.0
 */

package com.passbolt.mobile.android.core.passwordgenerator.entropy

import com.google.common.truth.Truth.assertThat
import com.passbolt.mobile.android.core.passwordgenerator.Alphabets
import com.passbolt.mobile.android.core.passwordgenerator.codepoints.CodepointSet
import com.passbolt.mobile.android.core.passwordgenerator.codepoints.toCodepoints
import com.passbolt.mobile.android.core.passwordgenerator.passwordGeneratorTestModule
import junit.framework.TestCase.assertEquals
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.test.runTest
import org.junit.Rule
import org.junit.Test
import org.koin.core.logger.Level
import org.koin.test.KoinTest
import org.koin.test.KoinTestRule
import org.koin.test.inject

class EntropyCalculatorTest : KoinTest {
    @ExperimentalCoroutinesApi
    @get:Rule
    val koinTestRule =
        KoinTestRule.create {
            printLogger(Level.ERROR)
            modules(passwordGeneratorTestModule)
        }

    private val entropyCalculator: EntropyCalculator by inject()

    @Test
    fun `test password entropy for short string generated from short character set`() =
        runTest {
            val alphabetSet = setOf("A", "B", "C").map { CodepointSet("label", "name", it.toCodepoints()) }.toSet()
            val result = entropyCalculator.getPasswordEntropy("ABC".toCodepoints(), alphabetSet)
            assertEquals(result, 4.75, 0.1)
        }

    @Test
    fun `test password entropy for short string generated from all characters`() =
        runTest {
            val alphabetSet = Alphabets.all.values.toSet()
            val result = entropyCalculator.getPasswordEntropy("ABC".toCodepoints(), alphabetSet)

            assertEquals(result, 14.1, 0.1)
        }

    @Test
    fun `test password entropy for long string with all available characters`() =
        runTest {
            val alphabetSet = Alphabets.all.values.toSet()
            val result =
                entropyCalculator.getPasswordEntropy(
                    (
                        "###\"@L./Jfc^J&7{1cIs_W172Bir5qm\"b