 ["\u0785", "\u079f", "\u200C"], ["\u078b", "\u079b", "\u200E"], ["\u0784", "\u079D", "\u200F"], ["\u0781", "\\"], ["\u0793", "\u079e"], ["\u07af", "\u061f"], ["Shift", "Shift"]],
      [[" ", " ", " ", " "], ["AltGr", "AltGr"]]
    ], 'lang': ["dv"] };

  this.VKI_layout['Dvorak'] = {
    'name': "Dvorak", 'keys': [
      [["`", "~"], ["1", "!"], ["2", "@"], ["3", "#"], ["4", "$"], ["5", "%"], ["6", "^"], ["7", "&"], ["8", "*"], ["9", "("], ["0", ")"], ["[", "{"], ["]", "}"], ["Bksp", "Bksp"]],
      [["Tab", "Tab"], ["'", '"'], [",", "<"], [".", ">"], ["p", "P"], ["y", "Y"], ["f", "F"], ["g", "G"], ["c", "C"], ["r", "R"], ["l", "L"], ["/", "?"], ["=", "+"], ["\\", "|"]],
      [["Caps", "Caps"], ["a", "A"], ["o", "O"], ["e", "E"], ["u", "U"], ["i", "I"], ["d", "D"], ["h", "H"], ["t", "T"], ["n", "N"], ["s", "S"], ["-", "_"], ["Enter", "Enter"]],
      [["Shift", "Shift"], [";", ":"], ["q", "Q"], ["j", "J"], ["k", "K"], ["x", "X"], ["b", "B"], ["m", "M"], ["w", "W"], ["v", "V"], ["z", "Z"], ["Shift", "Shift"]],
      [[" ", " "]]
    ]};

  this.VKI_layout['\u0395\u03bb\u03bb\u03b7\u03bd\u03b9\u03ba\u03ac'] = {
    'name': "Greek", 'keys': [
      [["`", "~"], ["1", "!"], ["2", "@", "\u00b2"], ["3", "#", "\u00b3"], ["4", "$", "\u00a3"], ["5", "%", "\u00a7"], ["6", "^", "\u00b6"], ["7", "&"], ["8", "*", "\u00a4"], ["9", "(", "\u00a6"], ["0", ")", "\u00ba"], ["-", "_", "\u00b1"], ["=", "+", "\u00bd"], ["Bksp", "Bksp"]],
      [["Tab", "Tab"], [";", ":"], ["\u03c2", "^"], ["\u03b5", "\u0395"], ["\u03c1", "\u03a1"], ["\u03c4", "\u03a4"], ["\u03c5", "\u03a5"], ["\u03b8", "\u0398"], ["\u03b9", "\u0399"], ["\u03bf", "\u039f"], ["\u03c0", "\u03a0"], ["[", "{", "\u201c"], ["]", "}", "\u201d"], ["\\", "|", "\u00ac"]],
      [["Caps", "Caps"], ["\u03b1", "\u0391"], ["\u03c3", "\u03a3"], ["\u03b4", "\u0394"], ["\u03c6", "\u03a6"], ["\u03b3", "\u0393"], ["\u03b7", "\u0397"], ["\u03be", "\u039e"], ["\u03ba", "\u039a"], ["\u03bb", "\u039b"], ["\u0384", "\u00a8", "\u0385"], ["'", '"'], ["Enter", "Enter"]],


ture.SETTER);
    mode = LanguageMode.ECMASCRIPT3;
    strictMode = SLOPPY;

    parseError("var x = {set 1(x){}};", IRFactory.SETTER_ERROR_MESSAGE);
    parseError("var x = {set 'a'(x){}};", IRFactory.SETTER_ERROR_MESSAGE);
    parseError("var x = {set a(x){}};", IRFactory.SETTER_ERROR_MESSAGE);
  }

  @Test
  public void testSetter_ObjectLiteral_Es5() {
    expectFeatures(Feature.SETTER);
    mode = LanguageMode.ECMASCRIPT5;
    strictMode = SLOPPY;

    parse("var x = {set 1(x){}};");
    parse("var x = {set 'a'(x){}};");
    parse("var x = {set a(x){}};");
  }

  // We only cover some of the common permutations though.
  @Test
  public void testSetter_ObjectLiteral_Es6() {
    expectFeatures(Feature.SETTER);
    mode = LanguageMode.ECMASCRIPT_2015;
    strictMode = SLOPPY;

    parse("var x = {set 1(x){}};");
    parse("var x = {set 'a'(x){}};");
    parse("var x = {set a(x){}};");

    parse("var x = {set setter(x = 5) {}};");
    parse("var x = {set setter(x = a) {}};");
    parse("var x = {set setter(x = a + 5) {}};");

    parse("var x = {set setter([x, y, z]) {}};");
    parse("var x = {set setter([x, y, ...z]) {}};");
    parse("var x = {set setter([x, y, z] = [1, 2, 3]) {}};");
    parse("var x = {set setter([x = 1, y = 2, z = 3]) {}};");

    parse("var x = {set setter({x, y, z}) {}};");
    parse("var x = {set setter({x, y, z} = {x: 1, y: 2, z: 3}) {}};");
    parse("var x = {set setter({x = 1, y = 2, z = 3}) {}};");
  }

  @Test
  public void testSetterInvalid_ObjectLiteral_EsNext() {
    expectFeatures();
    strictMode = SLOPPY;

    parseError("var x = {set a() {}};", "Setter must have exactly 1 parameter, found 0");
    parseError("var x = {set a(x, y) {}};", "Setter must have exactly 1 parameter, found 2");
    parseError("var x = {set a(...x, y) {}};", "Setter must have exactly 1 parameter, found 2");
    parseError("var x = {set a(...x) {}};", "Setter must not have a rest parameter");
  }

  // We only cover some of the common permutations though.
  @Test
  public void testSetter_Computed_ObjectLiteral_Es6() {
    expectFeatures(Feature.SETTER, Feature.COMPUTED_PROPERTIES);
    mode = LanguageMode.ECMASCRIPT_2015;
    strictMode = SLOPPY;

    parse("var x = {set [setter](x = 5) {}};");
    parse("var x = {set [setter](x = a) {}};");
    parse("var x = {set [setter](x = a + 5) {}};");

    parse("var x = {set [setter]([x, y, z]) {}};");
    parse("var x = {set [setter]([x, y, ...z]) {}};");
    parse("var x = {set [setter]([x, y, z] = [1, 2, 3]) {}};");
    parse("var x = {set [setter]([x = 1, y = 2, z = 3]) {}};");

    parse("var x = {set [setter]({x, y, z}) {}};");
    parse("var x = {set [setter]({x, y, z} = {x: 1, y: 2, z: 3}) {}};");
    parse("var x = {set [setter](


 IPv4 or IPv6.
///
/// Internet socket addresses consist of an [IP address], a 16-bit port number, as well
/// as possibly some version-dependent additional information. See [`SocketAddrV4`]'s and
/// [`SocketAddrV6`]'s respective documentation for more details.
///
/// The size of a `SocketAddr` instance may vary depending on the target operating
/// system.
///
/// [IP address]: IpAddr
///
/// # Examples
///
/// ```
/// use std::net::{IpAddr, Ipv4Addr, SocketAddr};
///
/// let socket = SocketAddr::new(IpAddr::V4(Ipv4Addr::new(127, 0, 0, 1)), 8080);
///
/// assert_eq!("127.0.0.1:8080".parse(), Ok(socket));
/// assert_eq!(socket.port(), 8080);
/// assert_eq!(socket.is_ipv4(), true);
/// ```
#[derive(Copy, Clone, PartialEq, Eq, Hash, PartialOrd, Ord)]
#[stable(feature = "rust1", since = "1.0.0")]
pub enum SocketAddr {
    /// An IPv4 socket address.
    #[stable(feature = "rust1", since = "1.0.0")]
    V4(#[stable(feature = "rust1", since = "1.0.0")] SocketAddrV4),
    /// An IPv6 socket address.
    #[stable(feature = "rust1", since = "1.0.0")]
    V6(#[stable(feature = "rust1", since = "1.0.0")] SocketAddrV6),
}

/// An IPv4 socket address.
///
/// IPv4 socket addresses consist of an [`IPv4` address] and a 16-bit port number, as
/// stated in [IETF RFC 793].
///
/// See [`SocketAddr`] for a type encompassing both IPv4 and IPv6 socket addresses.
///
/// The size of a `SocketAddrV4` struct may vary depending on the target operating
/// system. Do not assume that this type has the same memory layout as the underlying
/// system representation.
///
/// [IETF RFC 793]: https://tools.ietf.org/html/rfc793
/// [`IPv4` address]: Ipv4Addr
///
/// # Examples
///
/// ```
/// use std::net::{Ipv4Addr, SocketAddrV4};
///
/// let socket = SocketAddrV4::new(Ipv4Addr::new(127, 0, 0, 1), 8080);
///
/// assert_eq!("127.0.0.1:8080".parse(), Ok(socket));
/// assert_eq!(socket.ip(), &Ipv4Addr::new(127, 0, 0, 1));
/// assert_eq!(socket.port(), 8080);
/// ```
#[derive(Copy)]
#[stable(feature = "rust1", since = "1.0.0")]
pub struct SocketAddrV4 {
    // Do not assume that this struct is implemented as the underlying system representation.
    // The memory layout is not part of the stable interface that std exposes.
    inner: c::sockaddr_in,
}

/// An IPv6 socket address.
///
/// IPv6 socket addresses consist of an [`IPv6` address], a 16-bit port number, as well
/// as fields containing the traffic class, the flow label, and a scope identifier
/// (see [IETF RFC 2553, Section 3.3] for more details).
///
/// See [`SocketAddr`] for a type encompassing both IPv4 and IPv6 socket addresses.
///
/// The size of a `SocketAddrV6` struct may vary depending on the target operating
/// system. Do not assume that this type has the same memory layout as the underlying
/// system representation.
///
/// [IETF RFC 2553, Sectio


ComparatorTopological();

		for(String key : keys){
			Block b=table.get(key);
			table.remove(key);
			processed+=b.added;

			if(b.added>MAX_BLOCKSIZE_TO_SORT){
				System.err.println("Skipping sorting for key "+key+" of size "+b.added);
				RTextInputStream temp=new RTextInputStream(b.fname1, b.fname2, -1);
				ArrayList<Read> reads=temp.nextList();
				while(reads!=null && reads.size()>0){
					if(reads!=null && reads.size()>0){
						if(wt1!=null){wt1.addList(reads);}
						if(wt2!=null){wt2.addList(reads);}
					}
					b.numRead+=reads.size();
					reads=temp.nextList();
				}
				temp.close();
				temp=null;

//				Data.sysout.println(key+"\t"+b.added);
				b.delete();
			}else{
				ArrayList<Read> list=b.readBlock();
				if(PRINT_BLOCKS){Data.sysout.println(key+"\t"+list.size());}
				b.delete();

				Collections.sort(list, tcomp);
				if(MERGE_DUPLICATES){
					int count;
					count=mergeDuplicates(list, 0, 0, (byte)-99);
					if(count>0){
						Tools.condense(list);
						Collections.sort(list, tcomp);
					}
					count=mergeDuplicates(list, 1, 0, (byte)-99);
//					if(count>0){
//						Tools.condense(list);
//						Collections.sort(list, tcomp);
//					}
//					count=mergeDuplicates(list, 0, 1, (byte)2);

					Tools.condense(list);
					Collections.sort(list, tcomp);
				}
				if(list!=null && list.size()>0){
					if(wt1!=null){wt1.addList(list);}
					if(wt2!=null){wt2.addList(list);}
				}
			}
		}

		//Add poison
//		if(wt1!=null){wt1.addList(null);}
//		if(wt2!=null){wt2.addList(null);}
		if(wt1!=null){wt1.poison();}
		if(wt2!=null){wt2.poison();}

		if(wtt1!=null){
			while(wtt1.isAlive()){
				try {
					wtt1.join();
				} catch (InterruptedException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
		}

		if(wtt2!=null){
			while(wtt2.isAlive()){
				try {
					wtt2.join();
				} catch (InterruptedException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
		}

		t.stop();
		total.stop();
		Data.sysout.println("Final Sort + Write Time: "+t);
		Data.sysout.println("Total Time: "+total);

	}

	private int mergeDuplicates(ArrayList<Read> list, int nmax, int mmax, byte qmax){
		if(list==null || list.size()<2){return 0;}
		Read current=list.get(0);

		int correct=0;
		int incorrect=0;

		int count=0;
		for(int i=1; i<list.size(); i++){
			Read r=list.get(i);
			boolean keep=false;
			if(current.length()==r.length() && ((current.mate==null && r.mate==null) || (current.mateLength()==r.mateLength())) &&
					current.isDuplicateByBases(r, nmax, mmax, qmax, true, false)){
				Read r2=r.mate;
				Read c2=current.mate;
				if(c2==null || c2.isDuplicateByBases(r


                borderColor: CustomColor.primary,
                textColor: CustomColor.white,
              ),
              hSize(28)
            ],
          );
        }).then((value) {
      if ((isDeleted ?? false) == false) {
        WidgetsBinding.instance.addPostFrameCallback((_) async {
          ref.watch(getCommentNotifier.notifier).getComment(postId: widget.postId);
          scrollDown();
        });
      }
    });
  }

  bool get wantKeepAlive => true;
}class ImagePath {
  static const String imagePath = 'assets/images/';

  static const containerBgImage = '${imagePath}container_bg.png';
  static const productCodeGuideImage = '${imagePath}product_code_guide.png';
}
/// Flutter icons CustomIcons
/// Copyright (C) 2023 by original authors @ fluttericon.com, fontello.com
/// This font was generated by FlutterIcon.com, which is derived from Fontello.
///
/// To use this font, place it in your fonts/ directory and include the
/// following in your pubspec.yaml
///
/// flutter:
///   fonts:
///    - family:  CustomIcons
///      fonts:
///       - asset: fonts/CustomIcons.ttf
///
///
///
import 'package:flutter/widgets.dart';

class CustomIcons {
  CustomIcons._();

  static const _kFontFam = 'CustomIcons';
  static const String? _kFontPkg = null;

  static const IconData calendar = IconData(0xe800, fontFamily: _kFontFam, fontPackage: _kFontPkg);
  static const IconData chat = IconData(0xe801, fontFamily: _kFontFam, fontPackage: _kFontPkg);
  static const IconData home = IconData(0xe802, fontFamily: _kFontFam, fontPackage: _kFontPkg);
  static const IconData deliveryBox = IconData(0xe803, fontFamily: _kFontFam, fontPackage: _kFontPkg);
  static const IconData heart = IconData(0xe804, fontFamily: _kFontFam, fontPackage: _kFontPkg);
}
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';

///사이즈, 색상, 라운딩, 테두리, 그림자 설정 가능
class CircleImage extends Container {
  final double size;
  final String image;

  CircleImage({super.key, required this.size, required this.image, super.child})
      : super(
          width: size.w,
          height: size.h,
          decoration: BoxDecoration(borderRadius: BorderRadius.circular(100), image: DecorationImage(image: NetworkImage(image), fit: BoxFit.cover)),
        );
}
import 'dart:convert';

class ReservationNoticeModel{
  String title;
  int hour;
  int minute;
  String notificationDes;
  bool isPreDay;

  ReservationNoticeModel({required this.title, required this.hour, required this.minute, required this.notificationDes, required this.isPreDay});

  factory ReservationNoticeModel.fromJson(String str) => ReservationNoticeModel.fromMap(json.decode(str));

  String toJson() => json.encode(toMap());

  factory ReservationNoticeModel.fromMap(Map<String, dynamic> json) =>
      ReservationNoticeModel(
        title: json["title"],
        hour: json["hour"],
        minute: json["minute"],
        notificationDes: json["notificationDes"],
        isPreDay: json["isPreDay"],
      );

  Map<String, dynamic> toMap() => {
    "title": title,
    "hour": hour,
    "minute": minute,
    "notificationDes": notificationDes,
    "isPreDay": isPreDay,
  };
}// coverage:ignore-file
// GENERATED CODE - DO NOT MODIFY BY HAND
// ignore_for_file: type=lint
// ignore_for_file: unused_element, deprecated_membe


idx:02d}"
            attr2 = f"{prefix}_op_param_{idx:02d}"
            entry[self.OP_COMMAND] = getattr(self.context, attr1, "")
            entry[self.OP_PARAMETER] = getattr(self.context, attr2, "")
            self.prepend_ops.append(entry)

        prefix = "append"
        str_count = f"{prefix}_op_count"
        count = getattr(self.context, str_count, 0)
        for idx in range(count):
            entry = ["", ""]
            attr1 = f"{prefix}_op_{idx:02d}"
            attr2 = f"{prefix}_op_param_{idx:02d}"
            entry[self.OP_COMMAND] = getattr(self.context, attr1, "")
            entry[self.OP_PARAMETER] = getattr(self.context, attr2, "")
            self.append_ops.append(entry)
        self.fill_prepend_list()
        self.fill_append_list()

    def pane_hide(self):
        pass

    def pane_show(self):
        self.update_widgets()


P"
    ],
    "Sterling": [
        "NNP",
        "NN"
    ],
    "angiotensin": [
        "NN"
    ],
    "desktop": [
        "NN",
        "JJ"
    ],
    "Toshiyuki": [
        "NNP"
    ],
    "gloating": [
        "VBG"
    ],
    "Othon": [
        "NNP"
    ],
    "mournful": [
        "JJ"
    ],
    "momentum": [
        "NN"
    ],
    "hover": [
        "VB",
        "VBP"
    ],
    "frown": [
        "VBP"
    ],
    "specimen": [
        "NN"
    ],
    "wheelbases": [
        "NNS"
    ],
    "Eclipse": [
        "NNP",
        "NN"
    ],
    "absorptive": [
        "JJ"
    ],
    "usefully": [
        "RB"
    ],
    "MV40000": [
        "NN"
    ],
    "Celtics": [
        "NNPS",
        "NNP"
    ],
    "pre-Freudian": [
        "JJ"
    ],
    "Hez": [
        "NNP",
        "NN"
    ],
    "lads": [
        "NNS"
    ],
    "execution": [
        "NN"
    ],
    "lady": [
        "NN"
    ],
    "hovel": [
        "NN"
    ],
    "Shop": [
        "NNP",
        "NN",
        "VB"
    ],
    "QuesTech": [
        "NNP"
    ],
    "Shot": [
        "VBN"
    ],
    "burdock": [
        "NN"
    ],
    "pounds": [
        "NNS",
        "VBZ"
    ],
    "postcard": [
        "NN"
    ],
    "slower-than-anticipated": [
        "JJ"
    ],
    "Squatting": [
        "VBG",
        "NNP"
    ],
    "Gates-Warren": [
        "NNP"
    ],
    "Shoe": [
        "NNP"
    ],
    "white-washed": [
        "JJ"
    ],
    "dirtier": [
        "JJR"
    ],
    "Suntrust": [
        "NNP"
    ],
    "Nobrega": [
        "NNP",
        "NN"
    ],
    "Before": [
        "IN",
        "NNP",
        "RB"
    ],
    "meringues": [
        "NNS"
    ],
    "homicides": [
        "NNS"
    ],
    "densest": [
        "JJS"
    ],
    "Wholesome": [
        "JJ"
    ],
    "Steinbecks": [
        "NNPS"
    ],
    "wastrel": [
        "NN"
    ],
    "Elavil": [
        "NNP"
    ],
    "auto-repair": [
        "JJ"
    ],
    "strangulation": [
        "NN"
    ],
    "perverse": [
        "JJ"
    ],
    "Zeme": [
        "NNP"
    ],
    "white-majority": [
        "JJ"
    ],
    "junk-mail": [
        "NN",
        "JJ"
    ],
    "deficit": [
        "NN"
    ],
    "Ai": [
        "VBP",
        "NNP",
        "VBZ"
    ],
    "Interface": [
        "NNP"
    ],
    "Ainus": [
        "NNPS"
    ],
    "necessitating": [
        "VBG"
    ],
    "IPOs": [


import FWCore.ParameterSet.Config as cms

XMLIdealGeometryESSource = cms.ESSource("XMLIdealGeometryESSource",
    geomXMLFiles = cms.vstring('Geometry/CMSCommonData/data/materials.xml',
                               'Geometry/CMSCommonData/data/rotations.xml',
                               'Geometry/HGCalTBCommonData/data/hgcalMaterial/v1/hgcalMaterial.xml',
                               'Geometry/HGCalTBCommonData/data/TB181/cms.xml',
                               'Geometry/HGCalTBCommonData/data/TB181/June18/hgcal.xml',
                               'Geometry/HGCalTBCommonData/data/TB181/June18/hgcalEE.xml',
                               'Geometry/HGCalTBCommonData/data/TB181/June18/hgcalBeam.xml',
                               'Geometry/HGCalTBCommonData/data/hgcalwafer/v7/hgcalwafer.xml',
                               'Geometry/HGCalTBCommonData/data/TB181/June18/hgcalsense.xml',
                               'Geometry/HGCalTBCommonData/data/TB181/June18/hgcProdCuts.xml',
                               'Geometry/HGCalTBCommonData/data/TB181/June18/hgcalCons.xml'
                               ),
    rootNodeName = cms.string('cms:OCMS')
)


trong>已产生（Spawned） 复选框时显示在关卡序列里中。如果你的关卡序列继续，但你希望可生成物从场景中消失，可以在未选中 已产生（Spawned） 复选框时添加关键帧。

在 放置Actor（Place Actors） 面板的 过场动画（Cinematic） 选项卡中，将 电影摄像机Actor（Cine Camera Actor）拖放 到 Sequencer** 中。

<picture>
		<source data-srcset="./../../../../../Images/AnimatingObjects/Sequencer/HowTo/Spawnables/Spawnables6.jpg">

</picture>

你将注意到电影摄像机Actor已添加，而其图标上同样出现了闪电图标。

<picture>
		<source data-srcset="./../../../../../Images/AnimatingObjects/Sequencer/HowTo/Spawnables/Spawnables7.jpg">

</picture>

你还可以从将项目从 内容浏览器 拖放到 Sequencer 以创建可生成物。

请参阅 Sequencer速查表 以了解更多涉及可生成物的工作流程快捷方式。

从 文件（File） 菜单，创建新的 默认（Default） 级别。

<picture>
		<source data-srcset="./../../../../../Images/AnimatingObjects/Sequencer/HowTo/Spawnables/Spawnables8.jpg">

</picture>

你可选择保存或不保存内容，对于本示例，是否保存无关紧要。

最终结果

我们添加到关卡序列的骨骼网格和摄像机会作为关卡序列的一部分自动添加到关卡（如果关卡序列仍处于打开状态）。如果关卡序列未打开，那么你需要将其拖到关卡中，这样才能显示内容。


 SPDX-License-Identifier: LGPL-2.1-or-later
// Copyright (c) 2012-2014 Monty Program Ab
// Copyright (c) 2015-2025 MariaDB Corporation Ab
package org.mariadb.jdbc.integration;

import static org.junit.jupiter.api.Assertions.*;

import java.io.IOException;
import java.sql.*;
import org.junit.jupiter.api.Assumptions;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
import org.mariadb.jdbc.*;
import org.mariadb.jdbc.Connection;
import org.mariadb.jdbc.Statement;
import org.mariadb.jdbc.export.SslMode;
import org.mariadb.jdbc.integration.tools.TcpProxy;

public class MultiHostTest extends Common {

  @BeforeAll
  public static void beforeAll2() throws SQLException {
    createSequenceTables();
  }

  @Test
  public void failoverReadonlyToMaster() throws Exception {
    try (Connection con = createProxyConKeep("&waitReconnectTimeout=300&deniedListTimeout=300")) {
      long primaryThreadId = con.getThreadId();
      con.setReadOnly(true);
      long replicaThreadId = con.getThreadId();
      assertTrue(primaryThreadId != replicaThreadId);

      con.setReadOnly(false);
      assertEquals(primaryThreadId, con.getThreadId());
      con.setReadOnly(true);
      assertEquals(replicaThreadId, con.getThreadId());
      proxy.restart(250);

      con.isValid(1);
      assertEquals(primaryThreadId, con.getThreadId());
    }
  }

  @Test
  public void ensureReadOnlyOnReplica() throws Exception {
    // mariadb1.example.com, mariadb2.example.com and mariadb3.example.com DNS alias must be defined
    Assumptions.assumeFalse(isMaxscale());

    Configuration conf = Configuration.parse(mDefUrl);
    HostAddress hostAddress = conf.addresses().get(0);
    String url =
        mDefUrl.replaceAll(
            "//(" + hostname + "|" + hostname + ":" + port + ")/",
            String.format(
                "//mariadb1.example.com:%s,mariadb2.example.com:%s,mariadb3.example.com:%s/",
                hostAddress.port, hostAddress.port, hostAddress.port));
    url = url.replaceAll("jdbc:mariadb:", "jdbc:mariadb:replication:");
    if (conf.sslMode() == SslMode.VERIFY_FULL) {
      url = url.replaceAll("sslMode=verify-full", "sslMode=verify-ca");
    }
    try {
      int replica1 = 0;
      int replica2 = 0;
      for (int i = 0; i < 100; i++) {
        try (Connection con =
            (Connection)
                DriverManager.getConnection(
                    url + "&waitReconnectTimeout=30&deniedListTimeout=300")) {
          assertFalse(con.__test_host().contains("replica"));
          con.setReadOnly(true);
          assertTrue(con.__test_host().contains("replica"));
          if (con.__test_host().contains("mariadb2")) {
            replica1++;
          }
          if (con.__test_host().contains("mariadb3")) {
            replica2++;
          }
        }
      }

      assertTrue(
          replica1 > 35, "value replica1/replicat2 aren't right : " + replica1 + "/" + replica2);
      assertTrue(
          replica2 > 35, "value replica1/replicat2 aren't right : " + replica1 + "/" + replica2);
    } catch (SQLNonTransientConnectionException e) {
      // eat
    }
  }

  @Test
  public void readOnly() throws SQLException {
    try (Connection con = createProxyConKeep("&waitReconnectTimeout=300&deniedListTimeout=300")) {
      Stat


 (!py_funcname) goto bad;
        #endif
    }
    #if PY_MAJOR_VERSION < 3
    py_code = __Pyx_PyCode_New(
        0,
        0,
        0,
        0,
        0,
        0,
        __pyx_empty_bytes, /*PyObject *code,*/
        __pyx_empty_tuple, /*PyObject *consts,*/
        __pyx_empty_tuple, /*PyObject *names,*/
        __pyx_empty_tuple, /*PyObject *varnames,*/
        __pyx_empty_tuple, /*PyObject *freevars,*/
        __pyx_empty_tuple, /*PyObject *cellvars,*/
        py_srcfile,   /*PyObject *filename,*/
        py_funcname,  /*PyObject *name,*/
        py_line,
        __pyx_empty_bytes  /*PyObject *lnotab*/
    );
    Py_DECREF(py_srcfile);
    #else
    py_code = PyCode_NewEmpty(filename, funcname, py_line);
    #endif
    Py_XDECREF(py_funcname);  // XDECREF since it's only set on Py3 if cline
    return py_code;
bad:
    Py_XDECREF(py_funcname);
    #if PY_MAJOR_VERSION < 3
    Py_XDECREF(py_srcfile);
    #endif
    return NULL;
}
static void __Pyx_AddTraceback(const char *funcname, int c_line,
                               int py_line, const char *filename) {
    PyCodeObject *py_code = 0;
    PyFrameObject *py_frame = 0;
    PyThreadState *tstate = __Pyx_PyThreadState_Current;
    PyObject *ptype, *pvalue, *ptraceback;
    if (c_line) {
        c_line = __Pyx_CLineForTraceback(tstate, c_line);
    }
    py_code = __pyx_find_code_object(c_line ? -c_line : py_line);
    if (!py_code) {
        __Pyx_ErrFetchInState(tstate, &ptype, &pvalue, &ptraceback);
        py_code = __Pyx_CreateCodeObjectForTraceback(
            funcname, c_line, py_line, filename);
        if (!py_code) {
            /* If the code object creation fails, then we should clear the
               fetched exception references and propagate the new exception */
            Py_XDECREF(ptype);
            Py_XDECREF(pvalue);
            Py_XDECREF(ptraceback);
            goto bad;
        }
        __Pyx_ErrRestoreInState(tstate, ptype, pvalue, ptraceback);
        __pyx_insert_code_object(c_line ? -c_line : py_line, py_code);
    }
    py_frame = PyFrame_New(
        tstate,            /*PyThreadState *tstate,*/
        py_code,           /*PyCodeObject *code,*/
        __pyx_d,    /*PyObject *globals,*/
        0                  /*PyObject *locals*/
    );
    if (!py_frame) goto bad;
    __Pyx_PyFrame_SetLineNumber(py_frame, py_line);
    PyTraceBack_Here(py_frame);
bad:
    Py_XDECREF(py_code);
    Py_XDECREF(py_frame);
}
#endif

#if PY_MAJOR_VERSION < 3
static int __Pyx_GetBuffer(PyObject *obj, Py_buffer *view, int flags) {
    __Pyx_TypeName obj_type_name;
    if (PyObject_CheckBuffer(obj)) return PyObject_GetBuffer(obj, view, flags);
    obj_type_name = __Pyx_PyType_GetName(Py_TYPE(obj));
    PyErr_Format(PyExc_TypeError,
                 "'" __


s">getNumberOfDelegatorsForAllPools

Defined in src/api/staking.ts:103

get<wbr/>Object<wbr/>Data<wbr/>By<wbr/>Object<wbr/>Address<svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg>

get<wbr/>Object<wbr/>Data<wbr/>By<wbr/>Object<wbr/>Address(args): Promise<{
    allow_ungated_transfer: boolean;
    is_deleted: boolean;
    last_guid_creation_num: any;
    last_transaction_version: any;
    object_address: string;
    owner_address: string;
    state_key_hash: string;
}><svg viewBox="0 0 24 24"><use href="../assets


;max-width:100%}.well .shiny-input-container{width:auto}.shiny-input-container>div>select:not(.selectized){width:100%}textarea.textarea-autoresize.form-control{padding:5px 8px;resize:none;overflow-y:hidden;height:auto}#shiny-notification-panel{position:fixed;bottom:0;right:0;background-color:rgba(0,0,0,0);padding:2px;width:300px;max-width:100%;z-index:99999}.shiny-notification{position:relative;background-color:var(--bs-body-bg, #fff);color:var(--bs-emphasis-color, #000);border:1px solid var(--bs-border-color, #dee2e6);border-radius:3px;opacity:0.85;padding:10px 2rem 10px 10px;margin:5px}.shiny-notification-message{color:var(--bs-info-text-emphasis);background-color:var(--bs-info-bg-subtle);border:1px solid var(--bs-info-border-subtle)}.shiny-notification-warning{color:var(--bs-warning-text-emphasis);background-color:var(--bs-warning-bg-subtle);border:1px solid var(--bs-warning-border-subtle)}.shiny-notification-error{color:var(--bs-danger-text-emphasis);background-color:var(--bs-danger-bg-subtle);border:1px solid var(--bs-danger-border-subtle)}.shiny-notification-close{position:absolute;width:2rem;height:2rem;top:0;right:0;display:flex;align-items:center;justify-content:center;font-weight:normal;font-size:1.125em;padding:0.25rem;color:currentColor;cursor:pointer}.shiny-notification-close:hover{color:RGB(var(--bs-emphasis-color-rgb, 0, 0, 0));font-weight:bold}.shiny-notification-content-action a{color:RGB(var(--bs-primary-rgb, 0,123,194));text-decoration:underline;font-weight:bold}.shiny-file-input-active{box-shadow:0 0 0 .25rem rgba(0,123,194,0.25)}.shiny-file-input-over{box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(76,174,76,0.6)}.action-button:not(.action-link) .action-icon+.action-label{padding-left:0.5ch}.datepicker table tbody tr td.disabled,.datepicker table tbody tr td.disabled:hover,.datepicker table tbody tr td span.disabled,.datepicker table tbody tr td span.disabled:hover{color:var(--bs-tertiary-color);cursor:not-allowed}.nav-hidden{display:none !important}@use "sass:math";.selectize-control.plugin-drag_drop.multi>.selectize-input.dragging{overflow:visible}.selectize-control.plugin-drag_drop.multi>.selectize-input>div.ui-sortable-placeholder{visibility:visible !important;background:#f2f2f2 !important;background:rgba(0,0,0,0.06) !important;border:0 none !important;box-shadow:inset 0 0 12px 4px #fff}.selectize-control.plugin-drag_drop .ui-sortable-placeholder::after{content:"!";visibility:hidden}.selectize-control.plugin-drag_drop .ui-sortable-helper{box-shadow:0 2px 5px rgba(0,0,0,0.2)}.selectize-dropdown.plugin-dropdown_header .selectize-dropdown-header{position:relative;padding:6px .75rem;border-bottom:1px solid #d0d0d0;background:RGBA(var(--bs-body-bg), 0.15);border-radius:var(--bs-border-radius) var(--bs-border-radius) 0 0}.selectize-dropdown.plugin-dropdown_header .selectize-dropdown-header-close{position:absolu


/*-------------------------- SVC_Handler ------------------------------------*/

#       void SVC_Handler (void);

        .thumb_func
        .type   SVC_Handler, %function
        .global SVC_Handler
SVC_Handler:
        .fnstart
        .cantunwind

        MRS     R0,PSP                  /* Read PSP */
        LDR     R1,[R0,#24]             /* Read Saved PC from Stack */
        LDRB    R1,[R1,#-2]             /* Load SVC Number */
        CBNZ    R1,SVC_User

        LDM     R0,{R0-R3,R12}          /* Read R0-R3,R12 from stack */
        PUSH    {R4,LR}                 /* Save EXC_RETURN */
        BLX     R12                     /* Call SVC Function */
        POP     {R4,LR}                 /* Restore EXC_RETURN */

        MRS     R12,PSP                 /* Read PSP */
        STM     R12,{R0-R2}             /* Store return values */
        BX      LR                      /* Return from interrupt */

        /*------------------- User SVC ------------------------------*/
SVC_User:
        PUSH    {R4,LR}                 /* Save EXC_RETURN */
        LDR     R2,=SVC_Count
        LDR     R2,[R2]
        CMP     R1,R2
        BHI     SVC_Done                /* Overflow */

        LDR     R4,=SVC_Table-4
        LDR     R4,[R4,R1,LSL #2]       /* Load SVC Function Address */

        LDM     R0,{R0-R3,R12}          /* Read R0-R3,R12 from stack */
        BLX     R4                      /* Call SVC Function */

        MRS     R12,PSP
        STM     R12,{R0-R3}             /* Function return values */
SVC_Done:
        POP     {R4,LR}                 /* Restore EXC_RETURN */
        BX      LR                      /* Return from interrupt */

        .fnend
        .size   SVC_Handler, .-SVC_Handler

/*-------------------------- PendSV_Handler ---------------------------------*/

#       void PendSV_Handler (void);

        .thumb_func
        .type   PendSV_Handler, %function
        .global PendSV_Handler
PendSV_Handler:
        .fnstart
        .cantunwind

        LDR     R3,=g_os_run_list       /* Get highest priority task ready to run */
        LDR     R2,[R3]                 /* Store in R2 */
        LDR     R3,=g_current_task      /* Get current task */
        LDR     R1,[R3]                 /* Current task in R1 */
        CMP     R1,R2
        IT      EQ
        BXEQ    LR                      /* RETI, no task switch */

        MRS     R12,PSP                 /* Read PSP */
#if MYNEWT_VAL(HARDFLOAT)
        TST     LR,#0x10                /* is it extended frame? */
        IT      EQ
        VSTMDBEQ R12!,{S16-S31}         /* yes; push the regs */
        STMDB   R12!,{R4-R11,LR}        /* Save Old context */
#else
        STMDB   R12!,{R4-R11}           /* Save Old context */
#endif
        STR     R12,[R1,#0]             /* Update stack pointer in current task */
        STR     R2,[R3]                 /* g_current_task = highest ready */

        LDR     R12,[R2,#0]             /* get stack pointer of task we will start */
#if MYNEWT_VAL(HARDFLOAT)
        LDMIA   R12!,{R4-R11,LR}        /* Restore New Context */
        TST     LR,#0x10                /* is it extended frame? */
        ITTE    EQ
        VLDMIAEQ R12!,{S16-S31}         /* yes; pull the regs */
        MVNEQ   LR,#~0xFFFFFFED         /* BX treats it as extended */
        MVNNE   LR,#~0xFFFFFFFD         /* BX treats is as basic frame */
#else
        LDMIA   R12!,{R4-R11}           /* Restore New Context */
#endif
        MSR     PSP,R12                 /* Write PSP */

#if MYNEWT_VAL(OS_SYSVIEW)
        PUSH    {R4,LR}
        MOV     R0, R2
        BL      os_trace_


: {}", source))]
    CreatingRequest {
        source: influxdb_iox_client::google::FieldViolation,
    },

    #[snafu(display("Failed to perform flight request: {}", source))]
    Flight { source: FlightError },
}

/// Abstract Flight client.
///
/// May use an internal connection pool.
#[async_trait]
pub trait FlightClient: Debug + Send + Sync + 'static {
    /// Send query to given ingester.
    async fn query(
        &self,
        ingester_address: Arc<str>,
        request: IngesterQueryRequest,
    ) -> Result<Box<dyn QueryData>, Error>;
}

/// Default [`FlightClient`] implementation that uses a real connection
#[derive(Debug, Default)]
pub struct FlightClientImpl {
    /// Cached connections
    /// key: ingester_address (e.g. "http://ingester-1:8082")
    /// value: CachedConnection
    ///
    /// Note: Use sync (parking_log) mutex because it is always held
    /// for a very short period of time, and any actual connection (and
    /// waiting) is done in CachedConnection
    connections: parking_lot::Mutex<HashMap<String, CachedConnection>>,
}

impl FlightClientImpl {
    /// Create new client.
    pub fn new() -> Self {
        Self::default()
    }

    /// Establish connection to given addr and perform handshake.
    async fn connect(&self, ingester_address: Arc<str>) -> Result<Connection, Error> {
        let cached_connection = {
            let mut connections = self.connections.lock();
            if let Some(cached_connection) = connections.get(ingester_address.as_ref()) {
                cached_connection.clone()
            } else {
                // need to make a new one;
                let cached_connection = CachedConnection::new(&ingester_address);
                connections.insert(ingester_address.to_string(), cached_connection.clone());
                cached_connection
            }
        };
        cached_connection.connect().await
    }
}

#[async_trait]
impl FlightClient for FlightClientImpl {
    async fn query(
        &self,
        ingester_addr: Arc<str>,
        request: IngesterQueryRequest,
    ) -> Result<Box<dyn QueryData>, Error> {
        let connection = self.connect(Arc::clone(&ingester_addr)).await?;

        let mut client =
            flight::Client::<flight::generated_types::IngesterQueryRequest>::new(connection);

        debug!(%ingester_addr, ?request, "Sending request to ingester");
        let request: flight::generated_types::IngesterQueryRequest =
            request.try_into().context(CreatingRequestSnafu)?;

        let perform_query = client.perform_query(request).await.context(FlightSnafu)?;
        Ok(Box::new(perform_query))
    }
}

/// Data that is returned by an ingester gRPC query.
///
/// This is mostly the same as [`PerformQuery`] but allows some easier mocking.
#[async_trait]
pub trait QueryData: Debug + Send + 'static {
    /// Returns the next `RecordBatch` available for this query, or `None` if
    /// there are no further results available.
    async fn next(&mut self) -> Result<Option<RecordBatch>, FlightError>;

    /// App metadata that was part of the response.
    fn app_metadata(&self) -> &IngesterQueryResponseMetadata;

    /// Schema.
    fn schema(&self) -> Arc<Schema>;
}

#[async_trait]
impl<T> QueryData for Box<T>
where
    T: QueryData + ?Sized,
{
    async


adIdentityPoolsRequestDescriptor =
    $convert.base64Decode(
        'CiBMaXN0V29ya2xvYWRJZGVudGl0eVBvb2xzUmVxdWVzdBJLCgZwYXJlbnQYASABKAlCM+BBAv'
        'pBLQorY2xvdWRyZXNvdXJjZW1hbmFnZXIuZ29vZ2xlYXBpcy5jb20vUHJvamVjdFIGcGFyZW50'
        'EhsKCXBhZ2Vfc2l6ZRgCIAEoBVIIcGFnZVNpemUSHQoKcGFnZV90b2tlbhgDIAEoCVIJcGFnZV'
        'Rva2VuEiEKDHNob3dfZGVsZXRlZBgEIAEoCFILc2hvd0RlbGV0ZWQ=');

@$core.Deprecated('Use listWorkloadIdentityPoolsResponseDescriptor instead')
const ListWorkloadIdentityPoolsResponse$json = {
  '1': 'ListWorkloadIdentityPoolsResponse',
  '2': [
    {
      '1': 'workload_identity_pools',
      '3': 1,
      '4': 3,
      '5': 11,
      '6': '.google.iam.v1beta.WorkloadIdentityPool',
      '10': 'workloadIdentityPools'
    },
    {'1': 'next_page_token', '3': 2, '4': 1, '5': 9, '10': 'nextPageToken'},
  ],
};

/// Descriptor for `ListWorkloadIdentityPoolsResponse`. Decode as a `google.protobuf.DescriptorProto`.
final $typed_data.Uint8List listWorkloadIdentityPoolsResponseDescriptor =
    $convert.base64Decode(
        'CiFMaXN0V29ya2xvYWRJZGVudGl0eVBvb2xzUmVzcG9uc2USXwoXd29ya2xvYWRfaWRlbnRpdH'
        'lfcG9vbHMYASADKAsyJy5nb29nbGUuaWFtLnYxYmV0YS5Xb3JrbG9hZElkZW50aXR5UG9vbFIV'
        'd29ya2xvYWRJZGVudGl0eVBvb2xzEiYKD25leHRfcGFnZV90b2tlbhgCIAEoCVINbmV4dFBhZ2'
        'VUb2tlbg==');

@$core.Deprecated('Use getWorkloadIdentityPoolRequestDescriptor instead')
const GetWorkloadIdentityPoolRequest$json = {
  '1': 'GetWorkloadIdentityPoolRequest',
  '2': [
    {'1': 'name', '3': 1, '4': 1, '5': 9, '8': {}, '10': 'name'},
  ],
};

/// Descriptor for `GetWorkloadIdentityPoolRequest`. Decode as a `google.protobuf.DescriptorProto`.
final $typed_data.Uint8List getWorkloadIdentityPoolRequestDescriptor =
    $convert.base64Decode(
        'Ch5HZXRXb3JrbG9hZElkZW50aXR5UG9vbFJlcXVlc3QSQwoEbmFtZRgBIAEoCUIv4EEC+kEpCi'
        'dpYW0uZ29vZ2xlYXBpcy5jb20vV29ya2xvYWR


oke53280.de",
								"Hurrican Level Editor V1.0", MB_OK | MB_ICONINFORMATION);
				} break;

				case MENU_HILFE_ID_TASTENBELEGUNG:		// Tastenbelegung im Hilfe Menu
				{
					// Hilfe html-Site anzeigen
					ShellExecute(MainHWND, NULL,  "Help\\Anleitung.html",NULL,NULL, SW_SHOWNORMAL);
				} break;

//----- Sonstige Buttons

				case BUTTON_ID_SmallLight:				// Kleines Licht wählen
				{
					LightUsed = 0;
					EditMode = SMALLLIGHTMODE;
					ClipX = -1;
					SendMessage(ButtonEditMode,WM_SETTEXT,0,(long)"Small Light");
				} break;

				case BUTTON_ID_MediumLight:				// Mittleres Licht wählen
				{
					LightUsed = 1;
					EditMode = MEDIUMLIGHTMODE;
					ClipX = -1;
					SendMessage(ButtonEditMode,WM_SETTEXT,0,(long)"Med. Light");
				} break;

				case BUTTON_ID_LargeLight:				// Großes Licht wählen
				{
					LightUsed = 2;
					EditMode = LARGELIGHTMODE;
					ClipX = -1;
					SendMessage(ButtonEditMode,WM_SETTEXT,0,(long)"Large Light");
				} break;

				case BUTTON_ID_SmallShadow:				// Kleiner Schatten
				{
					LightUsed = 3;
					EditMode = SMALLSHADOWMODE;
					ClipX = -1;
					SendMessage(ButtonEditMode,WM_SETTEXT,0,(long)"Small Shadow");
				} break;

				case BUTTON_ID_MediumShadow:			// Mittlerer Schatten
				{
					LightUsed = 4;
					EditMode = MEDIUMSHADOWMODE;
					ClipX = -1;
					SendMessage(ButtonEditMode,WM_SETTEXT,0,(long)"Med. Shadow");
				} break;

				case BUTTON_ID_LargeShadow:			// Mittlerer Schatten
				{
					LightUsed = 5;
					EditMode = LARGESHADOWMODE;
					ClipX = -1;
					SendMessage(ButtonEditMode,WM_SETTEXT,0,(long)"Large Shadow");
				} break;

				case BUTTON_ID_Bruecke:				// Brücke bauen
				{
					// Brückenteile anfügen
					for (int i = 0; i < ClipX; i++)
					{
						pObjectList->Push (ActRect.left*20+XOffset*20+i*20,
										   ActRect.top*20+YOffset*20 - 3, 149);

						pObjectList->Push (ActRect.left*20+XOffset*20+i*20+10,
										   ActRect.top*20+YOffset*20 - 3, 149);

						pTileEngine->Tiles[ActRect.left+XOffset+i][ActRect.top+YOffset].Block = BLOCKWERT_PLATTFORM;
					}

					RedrawLevel   = true;
				} break;

				case BUTTON_ID_TestLevel:				// Level testen
				{
					TestLevel();
				} break;

				case BUTTON_ID_CopyFromBlock:			// Vom "Verdecken" nach "Overlay" setzen
				{
					CopyFromBlock();
				} break;

				case BUTTON_ID_EditMode:				// Edit-Mode wechseln
				{
					if (EditMode == LEVELMODE)
					{
						EditMode = OBJECTMODE;
						SendMessage(ButtonEditMode,WM_SETTEXT,0,(long)"Object-Mode");
					}
					else
					{
						EditMode = LEVELMODE;
						SendMessage(ButtonEditMode,WM_SETTEXT,0,(long)"Level-Mode");
					}
				} break;

				case RADIOBUTTON_ID_Easy:				// Gegner Easy
				if (pSelectedObject != NULL)
				{
						pSelectedObject


izedHeader(core.MetachainShardId)
	if err != nil {
		log.Debug("isMetaStuck.GetLastSelfNotarizedHeader",
			"shard", core.MetachainShardId,
			"error", err.Error())
		return 0
	}

	return int64(selfHdrNotarizedByItself.GetNonce()) - int64(selfHdrNotarizedByMeta.GetNonce())
}

func (bbt *baseBlockTrack) isMetaStuck() bool {
	noncesBehind := bbt.computeMetaBlocksBehind()
	isMetaStuck := noncesBehind > process.MaxShardNoncesBehind
	return isMetaStuck
}

// RegisterCrossNotarizedHeadersHandler registers a new handler to be called when cross notarized header is changed
func (bbt *baseBlockTrack) RegisterCrossNotarizedHeadersHandler(
	handler func(shardID uint32, headers []data.HeaderHandler, headersHashes [][]byte),
) {
	bbt.crossNotarizedHeadersNotifier.RegisterHandler(handler)
}

// RegisterSelfNotarizedFromCrossHeadersHandler registers a new handler to be called when self notarized header,
// extracted from cross headers, is changed
func (bbt *baseBlockTrack) RegisterSelfNotarizedFromCrossHeadersHandler(
	handler func(shardID uint32, headers []data.HeaderHandler, headersHashes [][]byte),
) {
	bbt.selfNotarizedFromCrossHeadersNotifier.RegisterHandler(handler)
}

// RegisterSelfNotarizedHeadersHandler registers a new handler to be called when self notarized header is changed
func (bbt *baseBlockTrack) RegisterSelfNotarizedHeadersHandler(
	handler func(shardID uint32, headers []data.HeaderHandler, headersHashes [][]byte),
) {
	bbt.selfNotarizedHeadersNotifier.RegisterHandler(handler)
}

// RegisterFinalMetachainHeadersHandler registers a new handler to be called when a metachain header is final
func (bbt *baseBlockTrack) RegisterFinalMetachainHeadersHandler(
	handler func(shardID uint32, headers []data.HeaderHandler, headersHashes [][]byte),
) {
	bbt.finalMetachainHeadersNotifier.RegisterHandler(handler)
}

// RemoveLastNotarizedHeaders removes last notarized headers from tracker list
func (bbt *baseBlockTrack) RemoveLastNotarizedHeaders() {
	bbt.crossNotarizer.RemoveLastNotarizedHeader()
	bbt.selfNotarizer.RemoveLastNotarizedHeader()
}

// RestoreToGenesis sets class variables to theirs initial values
func (bbt *baseBlockTrack) RestoreToGenesis() {
	bbt.crossNotarizer.RestoreNotarizedHeadersToGenesis()
	bbt.selfNotarizer.RestoreNotarizedHeadersToGenesis()
	bbt.restoreTrackedHeadersToGenesis()
}

func (bbt *baseBlockTrack) restoreTrackedHeadersToGenesis() {
	bbt.mutHeaders.Lock()
	bbt.headers = make(map[uint32]map[uint64][]*HeaderInfo)
	bbt.mutHeaders.Unlock()
}

// IsInterfaceNil returns true if there is no value under the interface
func (bbt *baseBlockTrack) IsInterfaceNil() bool {
	return bbt == nil
}

func checkTrackerNilParameters(arguments ArgBaseTracker) error {
	if check.IfNil(arguments.Hasher) {
		return process.ErrNilHasher
	}
	if check.IfNil(arguments.HeaderValidator) {
		return process.ErrNilHeaderValidator
	}
	if check.IfNil(arguments.Marshalizer) {
		return process.ErrNilMarshalizer
	}
	if check.IfNil(arguments.RequestHandler) {
		return process.ErrNilRequestHandler
	}
	if check.


ail("[ACTUAL] Window.ActualHeight = " + this.ActualHeight.ToString());
            }
            else
            {
                Logger.Status("[VALIDATION PASSED] Window.ActualHeight = " + this.ActualHeight.ToString());
            }

            // Expected Value
            expectedValue = 300;
            Logger.Status("[SET] Window.Height = " + expectedValue.ToString());
            this.Height = expectedValue;
            Validate(expectedValue);

            TestHelper.Current.TestCleanup();

        }

        void Validate(double expectedValue)
        {
            // Validate Property Value
            if (this.Height != expectedValue)
            {
                Logger.LogFail("this.Height==" + this.Height.ToString());
            }
            else
            {
                Logger.Status("[VALIDATION PASSED] Property Value Validated");
            }

            // Win32 Validation
            if (WindowValidator.ValidateHeight(this.Title, expectedValue))
            {
                Logger.Status("[VALIDATION PASSED] Win32 Validation Passed");
            }
            else
            {
                Logger.LogFail("Win32 Validation Failed!");
            }

        }
    }

}


using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Query;
using MyRecipeBook.Domain.Dtos;
using MyRecipeBook.Domain.Entities;
using MyRecipeBook.Domain.Extensions;
using MyRecipeBook.Domain.Repositories.Recipe;

namespace MyRecipeBook.Infrastructure.DataAccess.Repositories;
public sealed class RecipeRepository : IRecipeWriteOnlyRepository, IRecipeReadOnlyRepository, IRecipeUpdateOnlyRepository
{
    private readonly MyRecipeBookDbContext _dbContext;

    public RecipeRepository(MyRecipeBookDbContext dbContext) => _dbContext = dbContext;

    public async Task Add(Recipe recipe) => await _dbContext.Recipes.AddAsync(recipe);

    public async Task Delete(long recipeId)
    {
        var recipe = await _dbContext.Recipes.FindAsync(recipeId);

        _dbContext.Recipes.Remove(recipe!);
    }

    public async Task<IList<Recipe>> Filter(User user, FilterRecipesDto filters)
    {
        var query = _dbContext
            .Recipes
            .AsNoTracking()
            .Include(recipe => recipe.Ingredients)
            .Where(recipe => recipe.Active && recipe.UserId == user.Id);

        if(filters.Difficulties.Any())
        {
            query = query.Where(recipe => recipe.Difficulty.HasValue && filters.Difficulties.Contains(recipe.Difficulty.Value));
        }

        if (filters.CookingTimes.Any())
        {
            query = query.Where(recipe => recipe.CookingTime.HasValue && filters.CookingTimes.Contains(recipe.CookingTime.Value));
        }

        if (filters.DishTypes.Any())
        {
            query = query.Where(recipe => recipe.DishTypes.Any(dishType => filters.DishTypes.Contains(d


ea ebp,dword ptr ss:[ebp+0x1]
 *  13d26d96   81fe 00000000    cmp esi,0x0
 *  13d26d9c   893d 7ca71001    mov dword ptr ds:[0x110a77c],edi
 *  13d26da2   8935 88a71001    mov dword ptr ds:[0x110a788],esi
 *  13d26da8   892d 8ca71001    mov dword ptr ds:[0x110a78c],ebp
 *  13d26dae   0f84 16000000    je 13d26dca
 *  13d26db4   832d c4aa1001 05 sub dword ptr ds:[0x110aac4],0x5
 *  13d26dbb   e9 f48b0100      jmp 13d3f9b4
 *  13d26dc0   0138             add dword ptr ds:[eax],edi
 *  13d26dc2   a7               cmps dword ptr ds:[esi],dword ptr es:[ed>
 *  13d26dc3   8608             xchg byte ptr ds:[eax],cl
 *  13d26dc5  -e9 5992ccef      jmp 039f0023
 *  13d26dca   832d c4aa1001 05 sub dword ptr ds:[0x110aac4],0x5
 *  13d26dd1   e9 0e000000      jmp 13d26de4
 *  13d26dd6   0158 a7          add dword ptr ds:[eax-0x59],ebx
 *  13d26dd9   8608             xchg byte ptr ds:[eax],cl
 *  13d26ddb  -e9 4392ccef      jmp 039f0023
 *  13d26de0   90               nop
 *  13d26de1   cc               int3
 */

// New line character for Broccoli games is '^'
static inline bool _broccoligarbage_ch(char c) { return c == '^'; }

// Read text from dl
static void SpecialPSPHookBroccoli(DWORD esp_base, HookParam *, BYTE, DWORD *data, DWORD *split, DWORD *len)
{
  DWORD text = esp_base + pusha_edx_off - 4; // edx address
  char c = *(LPCSTR)text;
  if (c && !_broccoligarbage_ch(c)) {
    *data = text;
    *len = 1;
    *split = regof(ecx, esp_base);
  }
}

bool InsertBroccoliPSPHook()
{
  ConsoleOutput("vnreng: Broccoli PSP: enter");

  const BYTE bytes[] =  {
    0x0f,0xc7,                      // 13d26d4d   0fc7             ???                                      ; unknown command
    0x05, XX4,                      // 13d26d4f   05 a8aa1001      add eax,0x110aaa8
    0x44,                           // 13d26d54   44               inc esp
    0xa7,                           // 13d26d55   a7               cmps dword ptr ds:[esi],dword ptr es:[ed>
    0x86,0x08,                      // 13d26d56   8608             xchg byte ptr ds:[eax],cl
    0xe9, XX4,                      // 13d26d58  -e9 a792ccef      jmp 039f0004
    0x8b,0x05, XX4,                 // 13d26d5d   8b05 7ca71001    mov eax,dword ptr ds:[0x110a77c]
    // Following pattern is not sufficient
    0x81,0xe0, 0xff,0xff,0xff,0x3f, // 13d26d63   81e0 ffffff3


using System;
using System.Collections.Generic;
using UnityEngine;

using TownOfHost.Attributes;
using TownOfHost.Roles.Core;
using static TownOfHost.Options;

namespace TownOfHost.Roles.AddOns.Crewmate
{
    public static class Workhorse
    {
        private static readonly int Id = 80100;
        public static Color RoleColor = Utils.GetRoleColor(CustomRoles.Workhorse);
        public static List<byte> playerIdList = new();
        private static OptionItem OptionAssignOnlyToCrewmate;
        private static OptionItem OptionNumLongTasks;
        private static OptionItem OptionNumShortTasks;
        public static bool AssignOnlyToCrewmate;
        public static int NumLongTasks;
        public static int NumShortTasks;
        public static void SetupCustomOption()
        {
            SetupRoleOptions(Id, TabGroup.Addons, CustomRoles.Workhorse, RoleColor);
            OptionAssignOnlyToCrewmate = BooleanOptionItem.Create(Id + 10, "AssignOnlyTo%role%", true, TabGroup.Addons, false).SetParent(CustomRoleSpawnChances[CustomRoles.Workhorse]);
            OptionAssignOnlyToCrewmate.ReplacementDictionary = new Dictionary<string, string> { { "%role%", Utils.ColorString(Palette.CrewmateBlue, Utils.GetRoleName(CustomRoles.Crewmate)) } };
            OptionNumLongTasks = IntegerOptionItem.Create(Id + 11, "WorkhorseNumLongTasks", new(0, 5, 1), 1, TabGroup.Addons, false).SetParent(CustomRoleSpawnChances[CustomRoles.Workhorse])
                .SetValueFormat(OptionFormat.Pieces);
            OptionNumShortTasks = IntegerOptionItem.Create(Id + 12, "WorkhorseNumShortTasks", new(0, 5, 1), 1, TabGroup.Addons, false).SetParent(CustomRoleSpawnChances[CustomRoles.Workhorse])
                .SetValueFormat(OptionFormat.Pieces);
        }
        [GameModuleInitializer]
        public static void Init()
        {


axValue);

                return lo;
            }
            else throw new IllegalInstructionException();
        }

        /// <summary>       <para>  LO: | 0 1 |  </para>      <para>  HI: | 2 3 |  </para>       </summary>
        [MethodImpl(MethodImplOptions.AggressiveInlining)]
        public static v128 cvt2x2epi32_epi64(v128 a, out v128 hi)
        {
            if (Architecture.IsSIMDSupported)
            {
                v128 negativeMask = srai_epi32(a, 31);
                hi = unpackhi_epi32(a, negativeMask);

                v128 lo = cvtepi32_epi64(a);

                constexpr.ASSUME(lo.SLong0 == a.SInt0);
                constexpr.ASSUME(lo.SLong1 == a.SInt1);
                constexpr.ASSUME(hi.SLong0 == a.SInt2);
                constexpr.ASSUME(hi.SLong1 == a.SInt3);
                constexpr.ASSUME_RANGE_EPI64(lo, int.MinValue, int.MaxValue);
                constexpr.ASSUME_RANGE_EPI64(hi, int.MinValue, int.MaxValue);

                return lo;
            }
            else throw new IllegalInstructionException();
        }

        /// <summary>       <para>  LO: | 0 1 2 3 4 5 6 7 |  </para>      <para>  HI: | 8 9 10 11 12 13 14 15 |  </para>       </summary>
        [MethodImpl(MethodImplOptions.AggressiveInlining)]
        public static v128 cvt2x2epu8_epi16(v128 a, out v128 hi)
        {
            if (Architecture.IsSIMDSupported)
            {
                hi = unpackhi_epi8(a, setzero_si128());

                v128 lo = cvtepu8_epi16(a);

                constexpr.ASSUME(lo.UShort0 == a.Byte0);
                constexpr.ASSUME(lo.UShort1 == a.Byte1);
                constexpr.ASSUME(lo.UShort2 == a.Byte2);
                constexpr.ASSUME(lo.UShort3 == a.Byte3);
                constexpr.ASSUME(lo.UShort4 == a.Byte4);
                constexpr.ASSUME(lo.UShort5 == a.Byte5);
                constexpr.ASSUME(lo.UShort6 == a.Byte6);
                constexpr.ASSUME(lo.UShort7 == a.Byte7);
                constexpr.ASSUME(hi.UShort0 == a.Byte8);
                constexpr.ASSUME(hi.UShort1 == a.Byte9);
                constexpr.ASSUME(hi.UShort2 == a.Byte10);
                constexpr.ASSUME(hi.UShort3 == a.Byte11);
                constexpr.ASSUME(hi.UShort4 == a.Byte12);
                constexpr.ASSUME(hi.UShort5 == a.Byte13);
                constexpr.ASSUME(hi.UShort6 == a.Byte14);
                constexpr.ASSUME(hi.UShort7 == a.Byte15);
                constexpr.ASSUME_LE_EPU16(lo, byte.MaxValue);
                constexpr.ASSUME_LE_EPU16(hi, byte.MaxValue);

                return lo;
            }
            else throw new IllegalInstructionException();
        }

        /// <summary>       <para>  LO: | 0 1 2 3 |  </para>      <para>  HI: | 4 5 6 7 |  </para>       </summary>
        [MethodImpl(MethodImplOptions.AggressiveInlining)]
        public static v128 cvt2x2epu16_epi32(v128 a, out v128 hi)
        {
            if (Architecture.IsSIMDSupported)
            {


(d,f,false,true);zsb(g,(Qpd(),Mpd));c=RD(mQb(b,nBc),8);c.a=$wnd.Math.max(e.a,c.a);c.b=$wnd.Math.max(e.b,c.b)}
function cec(a,b,c){var d,e,f,g,h,i;for(g=RD(mQb(a,(Ywc(),lwc)),15).Kc();g.Ob();){f=RD(g.Pb(),10);switch(RD(mQb(f,(yCc(),UAc)),171).g){case 2:g3b(f,b);break;case 4:g3b(f,c);}for(e=new is(Mr(W2b(f).a.Kc(),new ir));gs(e);){d=RD(hs(e),18);if(!!d.c&&!!d.d){continue}h=!d.d;i=RD(mQb(d,Ewc),12);h?Z0b(d,i):Y0b(d,i)}}}
function epc(){epc=geb;Zoc=new fpc(_ye,0,(qpd(),Yod),Yod);apc=new fpc(bze,1,npd,npd);Yoc=new fpc(aze,2,Xod,Xod);dpc=new fpc(cze,3,ppd,ppd);_oc=new fpc('NORTH_WEST_CORNER',4,ppd,Yod);$oc=new fpc('NORTH_EAST_CORNER',5,Yod,Xod);cpc=new fpc('SOUTH_WEST_CORNER',6,npd,ppd);bpc=new fpc('SOUTH_EAST_CORNER',7,Xod,npd)}
function P2c(a){var b,c,d,e,f,g;f=new _sb;b=new btb((!a.a&&(a.a=new C5d(J4,a,10,11)),a.a));for(e=new is(Mr(zGd(a).a.Kc(),new ir));gs(e);){d=RD(hs(e),74);if(!ZD(QHd((!d.b&&(d.b=new Yie(E4,d,4,7)),d.b),0),193)){g=AGd(RD(QHd((!d.c&&(d.c=new Yie(E4,d,5,8)),d.c),0),84));b.a._b(g)||(c=f.a.zc(g,f),c==null)}}return f}
function tid(){tid=geb;sid=cD(WC(lE,1),rxe,28,14,[1,1,2,6,24,120,720,5040,40320,362880,3628800,39916800,479001600,6227020800,87178291200,1307674368000,{l:3506176,m:794077,h:1},{l:884736,m:916411,h:20},{l:3342336,m:3912489,h:363},{l:589824,m:3034138,h:6914},{l:3407872,m:1962506,h:138294}]);$wnd.Math.pow(2,-65)}
function Ljb(){Ljb=geb;var a,b;Jjb=$C(uJ,Nve,92,32,0,1);Kjb=$C(uJ,Nve,92,32,0,1);a=1;for(b=0;b<=18;b++){Jjb[b]=(Pib(),Ddb(a,0)>=0?jjb(a):Xib(jjb(Odb(a))));Kjb


                    }

                    float32 prev_sign = m::sign(V->x);
                    vec3 force = st.magnitude * dir;
                    *V += force * (float32)MTT_TIMESTEP;

                    float32 m_adjust = m::length(*V);
                    if (m_adjust > velocity_magnitude) {
                        dir = m::normalize(*V);
                        *V = velocity_magnitude * dir;
                    }
                    if (m::sign(V->x) != prev_sign) {

                        auto* rep = mtt::rep(st.src_thing);
                        if (heading_direction_x(rep) < 0) {
                            mtt::flip_left_right(st.src_thing);
                        }

                        if (heading_direction_x(rep) > 0) {
                            mtt::flip_left_right(st.src_thing);
                        }
                    }

                } else {
                    return LOGIC_PROCEDURE_RETURN_STATUS_TYPE_DONE_SHOULD_TERMINATE;
                }

                break;
            }
        }

        if (loop_over_sources_HACK_SHOULD_SUPPORT_EXTERNAL_LOOP) {
            loop_idx += 1;
            if (all_sources->size() > loop_idx) {
                st.src_thing = mtt::Thing_try_get(world, (*all_sources)[loop_idx].value.thing_id);
                if (st.src_thing == nullptr || mtt::input_should_cancel_animation(st.src_thing)) {
                    return LOGIC_PROCEDURE_RETURN_STATUS_TYPE_PROCEED;
                }
            } else {
                loop_over_sources_HACK_SHOULD_SUPPORT_EXTERNAL_LOOP = false;
            }
        }
    } while (loop_over_sources_HACK_SHOULD_SUPPORT_EXTERNAL_LOOP);

    return true;
}

MTT_DEFINE_INITIALIZER(rule_eval)
{
    MTT_ADD_FIELD_T("state", Rule_Eval_State);
}

void w_search(mtt::Thing_ID thing_id, std::vector<dt::Word_Dictionary_Entry*>& words, mtt::Set_Stable<mtt::String>& ignore)
{
    auto& named_things = dt::word_dict()->thing_to_word;
    auto words_find = named_things.find(thing_id);
    if (words_find != named_things.end()) {
        for (auto* word : words_find->second) {
            if (ignore.contains(word->name)) {
                continue;
            }

            words.push_back(word);
        }
    }
    std::sort(std::begin(words), std::end(words), [](dt::Word_Dictionary_Entry* a, dt::Word_Dictionary_Entry* b) {
        return a->name <= b->name;
    });
}

bool label_entry_tgt_contains_comp(std::vector<dt::Word_Dictionary_Entry*>& tgt, std::vector<dt::Word_Dictionary_Entry*>& comp)
{
    // for each el in target vertex
    usize comp_i = 0;
    for (usize target_i = 0; target_i < tgt.size(); target_i += 1) {
        auto& tgt_to_find = tgt[target_i];

        // for each el in comp vertex, try to find each el in the target vertex
        bool found_sub_el = false;
        for (; comp_i < comp.size(); comp_i += 1) {
            if (comp[comp_i] == tgt_to_find) {
                found_sub_el = true;
                break;
            }
        }
        if (!found_sub_el)


//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by jni4net. See http://jni4net.sourceforge.net/
//     Runtime Version:2.0.50727.4952
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

namespace org.drools.@event.rule {

    #region Component Designer generated code
    [global::net.sf.jni4net.attributes.JavaClassAttribute()]
    public partial class DefaultKnowledgeAgentEventListener : global::java.lang.Object, global::org.drools.@event.knowledgeagent.KnowledgeAgentEventListener {

        internal new static global::java.lang.Class staticClass;

        internal static global::net.sf.jni4net.jni.MethodId _afterChangeSetApplied0;

        internal static global::net.sf.jni4net.jni.MethodId _afterChangeSetProcessed1;

        internal static global::net.sf.jni4net.jni.MethodId _afterResourceProcessed2;

        internal static global::net.sf.jni4net.jni.MethodId _beforeChangeSetApplied3;

        internal static global::net.sf.jni4net.jni.MethodId _beforeChangeSetProcessed4;

        internal static global::net.sf.jni4net.jni.MethodId _beforeResourceProcessed5;

        internal static global::net.sf.jni4net.jni.MethodId _knowledgeBaseUpdated6;

        internal static global::net.sf.jni4net.jni.MethodId _resourceCompilationFailed7;

        internal static global::net.sf.jni4net.jni.MethodId @__ctorDefaultKnowledgeAgentEventListener8;

        [global::net.sf.jni4net.attributes.JavaMethodAttribute("()V")]
        public DefaultKnowledgeAgentEventListener() :
                base(((global::net.sf.jni4net.jni.JNIEnv)(null))) {
            global::net.sf.jni4net.jni.JNIEnv @__env = global::net.sf.jni4net.jni.JNIEnv.ThreadEnv;
            using(new global::net.sf.jni4net.jni.LocalFrame(@__env, 10)){
            @__env.NewObject(global::org.drools.@event.rule.DefaultKnowledgeAgentEventListener.staticClass, global::org.drools.@event.rule.DefaultKnowledgeAgentEventListener.@__ctorDefaultKnowledgeAgentEventListener8, this);
            }
        }

        protected DefaultKnowledgeAgentEventListener(global::net.sf.jni4net.jni.JNIEnv @__env) :
                base(@__env) {
        }

        public static global::java.lang.Class _class {
            get {
                return global::org.drools.@event.rule.DefaultKnowledgeAgentEventListener.staticClass;
            }
        }

        private static void InitJNI(global::net.sf.jni4net.jni.JNIEnv @__env, java.lang.Class @__class) {
            global::org.drools.@event.rule.DefaultKnowledgeAgentEventListener.staticClass = @__class;
            global::org.drools.@event.rule.DefaultKnowledgeAgentEventListener._afterChangeSetApplied0 = @__env.GetMethodID(global::org.drools.@event.rule.DefaultKnowledgeAgentEventListener.staticClass, "afterChangeSetApplied", "(Lorg/drools/event/knowledgeagent/AfterChangeSetAppliedEvent;)V");
            global::org.drools.@event.rule.DefaultKnowledgeAgentEventListener._afterChangeSetProcessed1 = @__env.GetMethodID(global::org.drools.@event.rule.DefaultKnowledgeAgentEventListener.staticClass, "afterChangeSetProcessed", "(Lorg/drools/event/knowledgeagent/AfterChangeSetProcessedEvent;)V");


它可以同时在 HTML 和 XML 中工作

如果服务器没有明确指出 {{HTTPHeader("Content-Type")}} 头是 `"text/xml"` 还是 `"application/xml"`, 你可以使用{{domxref("XMLHttpRequest.overrideMimeType()")}} 强制 `XMLHttpRequest` 解析为 XML。

## 值

{{domxref("Document")}} 中包含从 {{domxref("XMLHttpRequest")}} 中收到的 HTML 节点或解析后的 XML 节点，也可能是在没有收到任何数据或数据类型错误的情况下返回的 null。

### 例外

- `InvalidStateError`
  - : {{domxref("XMLHttpRequest.responseType", "responseType")}} 既不是 `"document"` 也不是空字符串 (接收的数据应是 XML 或 HTML)。

## 示例

```js
var xhr = new XMLHttpRequest();
xhr.open("GET", "/server", true);

// 如果已指明，responseType 必须是空字符串或 "document"
xhr.responseType = "document";

// overrideMimeType() 用来强制解析 response 为 XML
xhr.overrideMimeType("text/xml");

xhr.onload = function () {
  if (xhr.readyState === xhr.DONE) {
    if (xhr.status === 200) {
      console.log(xhr.response);
      console.log(xhr.responseXML);
    }
  }
};

xhr.send(null);
```

## 规范

{{Specifications}}

## 浏览器兼容性

{{Compat}}

## 了解更多

- {{domxref("XMLHttpRequest")}}
- {{domxref("XMLHttpRequest.response")}}
- {{domxref("XMLHttpRequest.responseType")}}
---
title: HTMLTableRowElement：insertCell() 方法
slug: Web/API/HTMLTableRowElement/insertCell
l10n:
  sourceCommit: b71d118ffc6d72b77efad9661110fcc9ede464eb
---

{{APIRef("HTML DOM")}}

{{domxref("HTMLTableRowElement")}} 接口的 **`insertCell()`** 方法将一个新单元格（{{HtmlElement("td")}}）插入到表行（{{HtmlElement("tr")}}）中，然后返回新单元格的引用。

> [!NOTE]
> `insertCell()` 将单元格直接插入行中，如果使用 {{domxref("Document.createElement()")}} 创建新的 `<td>` 元素，则不需要使用 {{domxref("Node.appendChild()")}} 单独追加单元格。
>
> 你不能使用 `insertCell()` 来创建一个新的 `<th>` 元素。

## 语法

```js-nolint
insertCell()
insertCell(index)
```

### 参数

- `index` {{optional_inline}}
  - : 新单元格的单元格索引，如果 `index` 是 `-1` 或者等于单元格数，新单元格附加到行的最后一个单元格。如果省略 `index`，则默认值是 `-1`。

### 返回值

一个引用新单元格的 {{domxref("HTMLTableCellElement")}}。

### 异常

- `IndexSizeError` {{domxref("DOMException")}}
  - : 如果 `index` 大于单元格数，则抛出此异常。

## 示例

此示例使用 `HTMLTableRowElement.insertCell()` 将新的单元格附加到行中。

### HTML

```html

      C1
      C2
      C3
      <t


t][*gParentPath].rot = resultBone.rot;

			M_MatrixAngles(parentJointIKRotMat, resultBone.rot, resultBone.pos);
			pSource->rawanim[t][*(thisJointPathInRoot+1)].rot = resultBone.rot;

			M_matrix4x4_t parentJointGlobalMat, parentJointGlobalMatInverse, thisJointLocalMat;
			CatBonePath(thisJointPathInRoot+1, pSource->rawanim[t], parentJointGlobalMat, 1);

			M_MatrixInvert(parentJointGlobalMat, parentJointGlobalMatInverse);
			M_ConcatTransforms(thisJointInRootMat, parentJointGlobalMatInverse, thisJointLocalMat);

			M_MatrixAngles(thisJointLocalMat, resultBone.rot, resultBone.pos);
			pSource->rawanim[t][thisJointIndex].rot = resultBone.rot;

			// swap animation back for next solve
			combinedAnimation[t] = pSource->rawanim[t];
			pSource->rawanim[t] = sourceAnimation[t];

		}
		// swap animation
		sourceAnimation[t] = pSource->rawanim[t];
		pSource->rawanim[t] = combinedAnimation[t];

		//----------------------------------------------------------------
		// adjust root
		//----------------------------------------------------------------
		Vector originBonePos = pSource->rawanim[t][rootIndex].pos;
		Vector rootInScaleOrigin = originBonePos - rootScaleOrigin;
		float effectiveRootScale = ((rootScaleFactor - 1.0) * pTemplate->rootScaleAmount) + 1.0;
		Vector scaledRoot = rootInScaleOrigin * effectiveRootScale;
		pSource->rawanim[t][rootIndex].pos = rootScaleOrigin + scaledRoot;

		//------------------------------------------------------------
        // plane constraints
        //------------------------------------------------------------
		for(int ii = 0; ii < pTemplate->numPlaneConstraints; ii++)
		{
			s_planeConstraint_t *thisSolve = pTemplate->planeConstraints[ii];

			char *thisJointNameString = thisSolve->jointNameString;
			if(g_verbose)
				printf("Executing plane constraint: %s\n", thisJointNameString);

			int thisJointIndex = GetNodeIndex(pSource, thisJointNameString);

			// init paths to feet
			int thisJointPath[512];

			// get paths to feet
			if(thisJointIndex > -1)
			{
				GetNodePath(pSource, -1, thisJointIndex, thisJointPath);
			}
			else
			{
				printf("Error: Can't find node: %s\n" , thisJointNameString);
				exit(0);
			}
			int parentIndex = thisJointPath[1];
			int *parentPath = thisJointPath + 1;

			M_matrix4x4_t thisJointGlobalMat, parentJointGlobalMat, gParentJointGlobalMat, gParentJointGlobalMatInverse;
			CatBonePath(thisJointPath, pSource->rawanim[t], thisJointGlobalMat, 0);
			CatBonePath(parentPath, pSource->rawanim[t], parentJointGlobalMat, 0);
			CatBonePath(parentPath+1, pSource->rawanim[t], gParentJointGlobalMat, 0);
			M_MatrixInvert(gParentJointGlobalMat, gParentJointGlobalMatInverse);

			if(thisJointGlobalMat[3][thisSolve->axis] < thisSolve->floor)
			{
				// printf("-- broken plane: %f\n", thisJointGlobalMat[3][thisSolve->axis]);
				if(parentJointGlobalMat[3][thisSolve->axis] < thisSolve->floor)
				{
					printf("Error: Constraint parent has broken the


"Invoice or Payment Fraud",
                "scenario_description": "This simulation mimicked attempts to trick you into paying fake invoices or revealing financial information.",
                "specific_tips": [
                    "Verify all payment requests through established financial processes",
                    "Check for subtle changes in vendor payment details",
                    "Be wary of unexpected invoices or changes to payment procedures"
                ]
            },
            "oauth-consent": {
                "scenario_title": "OAuth Consent Phishing",
                "scenario_description": "This simulation mimicked attempts to trick you into granting permissions to malicious applications.",
                "specific_tips": [
                    "Carefully review all permission requests before approving",
                    "Verify the application developer is legitimate",
                    "Only grant the minimum permissions necessary"
                ]
            },
            "shipping": {
                "scenario_title": "Shipping Notification Phishing",
                "scenario_description": "This simulation mimicked fake shipping notifications designed to create curiosity about a package.",
                "specific_tips": [
                    "Track packages directly through the shipper's official website",
                    "Be suspicious of unexpected delivery notifications",
                    "Check the tracking number format matches the claimed shipper"
                ]
            }
        }

        # Normalize scenario type
        normalized_scenario = scenario_type.lower().replace("/", "-").replace(" ", "-")

        # Add scenario-specific content if available
        if normalized_scenario in scenario_content:
            content.update(scenario_content[normalized_scenario])
        else:
            # Generic scenario content
            content.update({
                "scenario_title": "Phishing Simulation",
                "scenario_description": "This simulation demonstrated common phishing tactics used by attackers.",
                "specific_tips": [
                    "Always verify unexpected communications before taking action",
                    "When in doubt, contact the sender through official channels",
                    "Trust your instincts if something feels suspicious"
                ]
            })

        return content


 a KnowledgeBase instance is typically a two-phase process. First the ontology is parsed into a representation supported by the loader, e.g. Jena
 * Model or OWLAPI Ontology. Then this object is processed by Pellet and loaded to the KnowledgeBase class.
 * </p>
 * <p>
 * This class provides fined-grained control over how parsing and loading is done along with a convenience function to do everything at once. Concrete
 * implementations of this class provides access to the ontology object used by the underlying loader.
 * </p>
 *
 * @author Evren Sirin
 */
public abstract class KBLoader implements Logging
{
	private static final Logger _logger = Log.getLogger(KBLoader.class);

	@Override
	public Logger getLogger()
	{
		return _logger;
	}

	protected volatile String _inputFormat;

	/**
	 * Resets the loader and clear any previously loaded ontologies.
	 */
	public abstract void clear();

	/**
	 * Convenience function to {@link #clear() clear}, {@link #parse(String...) parse}, {@link #load() load}, and {@link #getKB()}. Note: this method previously
	 * accepted a list of regular expressions instead of file URIs. This behavior has been changed as of 2.0.0-rc7.
	 *
	 * @param fileNameList list of file URIs
	 * @return KnowledgeBase instance with the given ontologies loaded
	 * @see FileUtils#getFileURIs(String...)
	 */
	public KnowledgeBase createKB(final String... fileNameList)
	{
		clear();
		parse(fileNameList);
		load();
		return getKB();
	}

	/**
	 * Returns the KB instance associated with the loader. The function {@link #load()} should be called beforehand.
	 *
	 * @return KnowledgeBase instance
	 */
	public abstract KnowledgeBase getKB();

	/**
	 * Load any previously parsed ontologies
	 */
	public abstract void load();

	/**
	 * Parse one or more files to the internal representation supported by this loader. Note: this method previously accepted a list of regular expressions
	 * instead of file URIs. This behavior has been changed as of 2.0.0-rc7.
	 *
	 * @param fileNames list of file URIs
	 * @see FileUtils#getFileURIs(String...)
	 */
	public void parse(final String... fileNames)
	{
		_logger.fine(() -> "Parsing (" + fileNames.length + ") files");
		for (final String fileName : fileNames)
		{
			final String fileURI = FileUtils.getFileURI(fileName);
			parseFile(fileURI);
		}
		_logger.info("Parsing done.");
	}

	/**
	 * Instruct loader to respect or ignore imports.
	 *
	 * @param valueAsBoolean
	 */
	public abstract void setIgnoreImports(boolean valueAsBoolean);

	/**
	 * Parse a single file to the internal representation supported by this loader.
	 *
	 * @param fileURI the URI of the file to be loaded
	 */
	protected abstract void parseFile(String fileURI);

	@Override
	public String toString()
	{
		return getClass().getSimpleName();
	}

}
// Copyright (c) 2006 - 2008, Clark & Parsia, LLC. <http://www.clarkparsia.com>
// This source code is available under the terms of the Affero General Public License v3.
//
// Please see LICENSE.txt for full license terms, including the availability of proprietary exceptions.
// Questions, comments, or requests for clarification: licensing@clar


* `name` - String including mp3 name (key in our database)
///
pub fn play_music(
    peer: &mut Peer,
    name: &Option<String>,
    sink: &mut MusicPlayer,
) -> Result<(), String> {
    // we play sound when it is in our own database, otherwise we ask for the location
    let title;
    if let Some(song_name) = name {
        title = song_name.to_string();
    } else if let Some(song_name) = &sink.current_song_name {
        title = song_name.to_string();
    } else {
        return Err("No song name given and no current playing song!".to_string());
    }

    let sound_data = match peer.get_db().data.get(&title) {
        Some(data) => data,
        None => {
            send_read_request(peer, title.as_ref(), PLAY);
            return Err("File not in local Database. Search for File".to_string());
        }
    };

    play_music_by_vec(sound_data.clone(), sink, title)
}

pub fn pause_current_playing_music(sink: &mut MusicPlayer) -> Result<(), String> {
    sink.sink.pause();
    Ok(())
}

pub fn stop_current_playing_music(sink: &mut MusicPlayer) -> Result<(), String> {
    sink.sink.stop();
    sink.is_playing = false;
    sink.current_song_name = None;
    Ok(())
}

pub fn continue_paused_music(sink: &mut MusicPlayer) -> Result<(), String> {
    sink.sink.play();
    Ok(())
}

pub fn play_music_by_vec(
    music: Vec<u8>,
    sink: &mut MusicPlayer,
    name: String,
) -> Result<(), String> {
    sink.current_song_name = Some(name);
    let music_a = Cursor::new(music);
    let file = BufReader::new(music_a);
    let source = match rodio::Decoder::new(file) {
        Ok(decoded_source) => decoded_source,
        Err(_e) => return Err("file could not be decoded. is it mp3?".to_string()),
    };
    sink.sink.play();
    if sink.is_playing {
        sink.sink.append(source);
    } else {
        sink.is_playing = true;
        sink.sink = create_sink().unwrap().sink;
        sink.sink.append(source);
    }
    Ok(())
}
// Copyright 2019 Cargill Incorporated
//
// 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.

cfg_if! {
    if #[cfg(target_arch = "wasm32")] {
        use sabre_sdk::ApplyError;
        use sabre_sdk::TransactionContext;
    } else {
        use sawtooth_sdk::processor::handler::ApplyError;
        use sawtooth_sdk::processor::handler::TransactionContext;
    }
}

use grid_sdk::{
    pike::addressing::compute_agent_address,
    protocol::{
        pike::state::{Agent, AgentList},
        schema::state::{Schema, SchemaList},
        track_and_trace::state::{
            Property, PropertyList, PropertyListBuilder, PropertyPage, PropertyPageList,
            PropertyPageListBuilder, ProposalList, Record, RecordList, RecordListBuilder,
        },
    },
    protos::{FromBytes, IntoBytes},
    schemas::addressing::compute_schema_address,
    track_and_trace::addressing::*,
};

pub struct TrackAndTraceState<'a> {
    context: &'a mut dyn TransactionContext,
}


        val fbeBegin = setBegin()
        if (fbeBegin == 0L)
            return

        setFields(fbeValue)
        setEnd(fbeBegin)
    }

    // Set the struct fields values
    @Suppress("UNUSED_PARAMETER")
    fun setFields(fbeValue: com.chronoxor.protoex.AccountMessage)
    {
        body.set(fbeValue.body)
    }
}
package com.chrynan.parcelable.core

import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.MediumTest
import kotlinx.serialization.ExperimentalSerializationApi
import org.junit.Test
import org.junit.runner.RunWith
import kotlin.random.Random
import kotlin.test.assertEquals

private const val ALPHA_NUMERIC_STRING = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"

@RunWith(AndroidJUnit4::class)
@MediumTest
@OptIn(ExperimentalSerializationApi::class)
class AndroidParcelDecoderTest {

    @Test
    fun boolean_true() {
        val parcel = AndroidParcel(android.os.Parcel.obtain())

        val decoder = ParcelDecoder(input = parcel)

        parcel.writeBoolean(true)

        parcel.resetDataPosition()

        assertEquals(expected = true, actual = decoder.decodeBoolean())

        parcel.recycle()
    }

    @Test
    fun boolean_false() {
        val parcel = AndroidParcel(android.os.Parcel.obtain())

        val decoder = ParcelDecoder(input = parcel)

        parcel.writeBoolean(false)

        parcel.resetDataPosition()

        assertEquals(expected = false, actual = decoder.decodeBoolean())

        parcel.recycle()
    }

    @Test
    fun byte_min() {
        val parcel = AndroidParcel(android.os.Parcel.obtain())

        val decoder = ParcelDecoder(input = parcel)

        val value = Byte.MIN_VALUE

        parcel.writeByte(value)

        parcel.resetDataPosition()

        assertEquals(expected = value, actual = decoder.decodeByte())

        parcel.recycle()
    }

    @Test
    fun byte_max() {
        val parcel = AndroidParcel(android.os.Parcel.obtain())

        val decoder = ParcelDecoder(input = parcel)

        val value = Byte.MAX_VALUE

        parcel.writeByte(value)

        parcel.resetDataPosition()

        assertEquals(expected = value, actual = decoder.decodeByte())

        parcel.recycle()
    }

    @Test
    fun byte_random() {
        val parcel = AndroidParcel(android.os.Parcel.obtain())

        val decoder = ParcelDecoder(input = parcel)

        val value = Random.nextInt().toByte()

        parcel.writeByte(value)

        parcel.resetDataPosition()

        assertEquals(expected = value, actual = decoder.decodeByte())

        parcel.recycle()
    }

    @Test
    fun short_min() {
        val parcel = AndroidParcel(android.os.Parcel.obtain())

        val decoder = ParcelDecoder(input = parcel)

        val value = Short.MIN_VALUE

        parcel.writeShort(value)

        parcel.resetDataPosition()

        assertEquals(expected = value, actual = decoder.decodeShort())

        parcel.recycle()
    }

    @Test
    fun short_max() {
        val parcel = AndroidParcel(android.os.Parcel.obtain())

        val decoder = ParcelDecoder(input = parcel)

        val value = Short.MAX_VALUE

        parcel.writeShort(value)

        parcel.resetDataPosition()

        assertEquals(expected = value, actual = decoder.decodeShort())

        parcel.recycle()
    }

    @Test
    fun short_random() {
        val parcel = AndroidParcel(android.os.Parcel.obtain())

        val decoder = ParcelDecoder(input = parcel)

        val value = Random.nextInt().toShort()

        parcel.writeShort(va


ms. (#907)

- `reticulate` now attempts to set the `QT_QPA_PLATFORM_PLUGIN_PATH`
  environment variable when initializing a Conda installation of Python,
  when that associated plugins directory exists. (#586)

- The `reticulate` Python engine now supports the `results = "hold"` knitr
  chunk option. When set, any generated outputs are "held" and then displayed
  after the associated chunk's source code. (#530)

- `conda_create()` gains the `python_version` argument, making it easier to
  request that Conda environments are created with a pre-specified version
  of Python. (#766)

- Fixed an issue where `reticulate::conda_install()` would attempt to
  re-install the default Python package, potentially upgrading or downgrading
  the version of Python used in an environment.

- Fixed an issue where `reticulate` invoked its `reticulate.initialized` hook
  too early.

- Fixed an issue where Python modules loaded on a separate thread could cause
  a crash. (#885)

- `conda_install()` now allows version specifications for the `python_version`
  argument; e.g. `conda_install(python_version = ">=3.6")`. (#880)

- Fixed an issue where `conda_install()` failed to pass along `forge` and
  `channel` in calls to `conda_create()`. (#878)

- Fixed an issue where Python's auto-loader hooks could fail when binding
  to a Python 2.7 installation.

# reticulate 1.18

- Fixed an issue where `python_config()` could throw an error when attempting
  to query information about a Python 2.6 installation.

# reticulate 1.17

- `reticulate` now checks for and disallows installation of Python packages
  during `R CMD check`.

- `reticulate` no longer injects the `r` helper object into the main
  module if another variable called `r` has already been defined.

- The function `py_help_handler()` has now been exported, to be used by
  front-ends and other tools which need to provide help for Python objects
  in different contexts. (#864)

- Fixed an issue where timezone information could be lost when converting
  Python datetime objects to R. (#829)

- Fixed an issue where numeric (rather than integer) dimensions could cause
  issues when converting SciPy sparse matrices to their R counterparts. (#844)

- Fixed an issue where R `data.frame`s with non-ASCII column names could not
  be converted to Pandas DataFrames. (#834)

- Fixed an issue where the `pip_ignore_installed` argument in `conda_install()`
  was silently being ignored.

- Fixed an issue where `reticulate::conda_install()` could re-install Python
  into an environment when not explicitly requested by the user.

- `reticulate` now sets `LD_LIBRARY_PATH` when discovering Python. (#836)

- `reticulate` is now better at capturing Python logger streams (those that
  write to stdout or stderr) when `py_capture_output()` is set. (#825)

- `reticulate` no longer calls `utils::loadhistory()` after each REPL iteration.

- `reticulate` now better detects when Python modules are loaded.

- `reticulate::import_from_path()` now accepts the `delay_load` parameter,
  allowing modules which should be loaded from a pre-specified path
  to be lazy-loaded.

- Fixed an issue where `reticulate` load hooks (normally defined via
  `setHook("reticulate::<module>::load", ...)`) would segfault if those
  hooks attempted to load the hooked module.

- `reticulate` now attempts to resolve the conda binary used to create the
  associated Conda environment in calls to `py_install()`. This should fix use
  cases where Conda environments are placed outside of the Conda installation
  itself.

- `reticulate` now sets `


oom.Dao
import androidx.room.Delete
import androidx.room.Insert
import androidx.room.OnConflictStrategy
import androidx.room.Query
import androidx.room.RewriteQueriesToDropUnusedColumns
import androidx.room.Transaction
import androidx.room.Update
import com.dd3boh.outertune.constants.SongSortType
import com.dd3boh.outertune.db.entities.PlayCountEntity
import com.dd3boh.outertune.db.entities.Song
import com.dd3boh.outertune.db.entities.SongEntity
import com.dd3boh.outertune.extensions.reversed
import com.dd3boh.outertune.utils.fixFilePath
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.first
import kotlinx.coroutines.flow.map
import kotlinx.coroutines.runBlocking
import java.time.LocalDateTime
import java.time.ZoneOffset

@Dao
interface SongsDao {

    // region Gets
    @Transaction
    @Query("SELECT * FROM song WHERE id = :songId")
    fun song(songId: String?): Flow<Song?>

    @Transaction
    @Query("SELECT * FROM song WHERE title LIKE '%' || :query || '%' AND (inLibrary IS NOT NULL OR dateDownload IS NOT NULL) LIMIT :previewSize")
    fun searchSongs(query: String, previewSize: Int = Int.MAX_VALUE): Flow<List<Song>>

    @Transaction
    @Query("SELECT * FROM song WHERE title LIKE '%' || :query || '%' LIMIT :previewSize")
    fun searchSongsInDb(query: String, previewSize: Int = Int.MAX_VALUE): Flow<List<Song>>

    @Transaction
    @Query("SELECT * FROM song WHERE title LIKE '%' || :query || '%' AND isLocal = 1 LIMIT :previewSize")
    fun searchSongsAllLocal(query: String, previewSize: Int = Int.MAX_VALUE): Flow<List<Song>>

    /**
     * Does not include unavailable songs
     */
    fun searchSongsAllLocalInDir(dir: String, query: String, previewSize: Int = Int.MAX_VALUE): Flow<List<Song>> {
        return _searchSongsAllLocalInDir(fixFilePath(dir), query, previewSize)
    }

    @Transaction
    @Query("""
        SELECT * FROM song
        WHERE isLocal = 1 AND inLibrary IS NOT NULL AND localpath LIKE :dir || '%' AND title LIKE '%' || :query || '%'
        LIMIT :previewSize
        """)
    fun _searchSongsAllLocalInDir(dir: String, query: String, previewSize: Int = Int.MAX_VALUE): Flow<List<Song>>

    @Transaction
    @Query("""
        SELECT *
        FROM song
        WHERE id IN (SELECT songId
                     FROM event
                     WHERE timestamp > :fromTimeStamp
                     GROUP BY songId
                     ORDER BY SUM(playTime) DESC
                     LIMIT :limit
                     OFFSET :offset)
    """)
    fun mostPlayedSongs(fromTimeStamp: Long, limit: Int = 6, offset: Int = 0): Flow<List<Song>>

    @Query("SELECT sum(count) from playCount WHERE song = :songId")
    fun getLifetimePlayCount(songId: String?): Flow<Int>

    @Query("SELECT sum(count) from playCount WHERE song = :songId AND year = :year")
    fun getPlayCountByYear(songId: String?, year: Int): Flow<Int>

    @Query("SELECT count from playCount WHERE song = :songId AND year = :year AND month = :month")
    fun getPlayCountByMonth(songId: String?, year: Int, month: Int): Flow<Int>

    @Transaction
    @Query("SELECT * FROM song WHERE liked AND dateDownload IS NULL")
    fun likedSongsNotDownloaded(): Flow<List<Song>>

    // region Songs Sort
    @Transaction
    @Query("SELECT * FROM song WHERE inLibrary IS NOT NULL ORDER BY rowId")
    fun songsByRowIdAsc(): Flow<List<Song>>

    @Transaction
    @Query("SELECT * FROM song WHERE inLibrary IS NOT NULL ORDER BY inLibrary")
    fun songsByCreateDateAsc():


Zmm1), kmaskz, addr, csbc!(7)]);
            } else if bytes == 2 {
                asm.vpandq(&[Vreg(Zmm1), kmaskz, addr, csbc!(6)]);
            } else if bytes == 4 {
                asm.vpandq(&[Vreg(Zmm1), kmaskz, addr, csbc!(4)]);
            } else {
                panic!("How'd you get here?");
            }

            // Multiply byte alignment by 8
            asm.vpsllvq(&[Vreg(Zmm1), kmaskz, Vreg(Zmm1), csbc!(3)]);
        }
        8 => {
            // No shift amount used in this case
        }
        _ => panic!("Invalid state"),
    }

    // Broadcast one of the active VMs to all lanes
    // It's important we use nokmask here so we can extract the address easily
    // with a vmovq later
    asm.vpermq(&[Vreg(Zmm0), nokmask, aperm, addr]);

    // Compare all the addresses with this one active VM to look for census
    asm.vpcmpeqq(&[tmpkmask, kmask, Vreg(Zmm0), addr]);

    // kxorw k2, k2, k1
    asm.raw_bytes(b"\xc5\xec\x47\xd1");

    // kortestw k2, k2
    asm.raw_bytes(b"\xc5\xf8\x98\xd2");
    asm.jnz(&[BranchNear(&diverge)]);

    // Get the address we want to read from
    asm.vpermq(&[Vreg(Zmm0), nokmask, aperm, transaddr]);
    asm.set_vecwidth(falkasm::VecWidth::Width128);
    asm.vmovq(&[Reg(Rdx), Vreg(Zmm0)]);
    asm.set_vecwidth(falkasm::VecWidth::Width512);

    if is_write {
        match bytes {
            1 | 2 | 4 => {
                // Read the original memory
                asm.vmovdqa64(&[Vreg(Zmm0), kmask,
                                Mem(Some(Rdx), None, 64)]);

                // Rotate the word so the memory we are inserting is at
                // the LSB
                //
                // Zmm1 comes from above and it's the shift amount to get
                // the byte/word into the LSB
                asm.vprorvq(&[Vreg(Zmm0), kmaskz, Vreg(Zmm0), Vreg(Zmm1)]);

                // Zero out the bottom byte
                asm.vpandq(&[Vreg(Zmm0), kmaskz, Vreg(Zmm0), csbc!(!((1 << (bytes * 8))-1))]);

                // Mask off everything but the bottom byte for the value
                // we want to insert.
                asm.vpandq(&[Vreg(Zmm2), kmaskz, input.unwrap(), csbc!((1 << (bytes * 8))-1)]);

                // Merge old and new values
                asm.vporq(&[Vreg(Zmm0), kmaskz, Vreg(Zmm0), Vreg(Zmm2)]);

                // Rotate value back into original position
                asm.vprolvq(&[Vreg(Zmm0), kmaskz, Vreg(Zmm0), Vreg(Zmm1)]);

                // Write out actual value
                asm.vmovdqa64(&[Mem(Some(Rdx), None, 64), kmask, Vreg(Zmm0)]);
            }
            8 => {
                // Write the actual value out
                asm.vmovdqa64(&[Mem(Some(Rdx), None, 64), kmask, input.unwrap()]);
            }
            _ => panic!("Unhandled byte combination"),
        }
    } else {
        let out = output.unwrap();

        // Load the actual memory contents
        asm.vmovdqa64(&[out, kmask, Mem(Some(Rdx), None, 64)]);

        match bytes {
            1 | 2 | 4 => {
                // Shift the memory into position based on the shift amount
                //


RayCastType.Closest;
    }
    onAnyBtnClick() {
        this.rayCastType = cc.RayCastType.Any;
    }
    onAllClosestBtnClick() {
        this.rayCastType = cc.RayCastType.AllClosest;
    }
    onAllBtnClick() {
        this.rayCastType = cc.RayCastType.All;
    }
}
import { BoardB } from "../Boards/BoardB";
import { IActor } from "./IActor";
import * as Rx from 'rxjs';
import { injectable } from "inversify";

@injectable()
export class DoorPanel implements IActor
{
    constructor(private driver: BoardB)
    {
        this.driver.IO.Input1.OnFalling(() => this.lightsSwitch.next(true));
        this.driver.IO.Input2.OnFalling(() => this.delayedOff.next(true));
    }

    public get OnMainLampButtonPress(): Rx.Subject<boolean>
    {
        return this.lightsSwitch;
    }

    public get OnMainLampDelayedOffButtonPress(): Rx.Subject<boolean>
    {
        return this.delayedOff;
    }

    private lightsSwitch = new Rx.Subject<boolean>();
    private delayedOff = new Rx.Subject<boolean>();
}
/**
 * Utility for enforcing exhaustiveness checks in the type system.
 *
 * @see https://basarat.gitbook.io/typescript/type-system/discriminated-unions#throw-in-exhaustive-checks
 *
 * @param _x The variable with no remaining values
 */
export function assertNever(_x: never): never {
  throw new Error("Unexpected value. Should have been never.")
}

export function pick<O extends unknown, K extends keyof O>(
  base: O,
  keys: readonly K[]
): Pick<O, K> {
  const entries = keys.map(key => [key, base?.[key]])
  return Object.fromEntries(entries)
}

export function isObject(o: unknown): o is Record<PropertyKey, unknown> {
  return typeof o === "object" && o !== null
}
import {profileAPI} from "../api/api";
import {Dispatch} from "redux";

interface  AddPostAction {
    type: 'ADD_POST'
    postBody: string
}

interface SetUserProfileAction {
    type: 'SET_USER_PROFILE'
    profile: object
}

interface SetStatusAction {
    type: 'SET_STATUS'
    status: string
}

interface GetStatusAction {
    type: 'GET_STATUS'
    status: string
}

type Action = AddPostAction | SetUserProfileAction | SetStatusAction | GetStatusAction;

type PostsType = {
    id: number | null
    message: string | null
    likesCount: number | null
}

type InitialStateType = {
    posts: PostsType[]
    profile: null | number
    status: null | string
}

let initialState : InitialStateType = {
    posts: [
        {id: 1, message: 'Hi, how are you?', likesCount: 12},
        {id: 2, message: 'It\'s my first post', likesCount: 11},
        {id: 3, message: 'Blabla', likesCount: 11},
        {id: 4, message: 'Dada', likesCount: 11}
    ],
    profile: null,
    status: ''
};

const profileReducer = (state = initialState, action : Action) => {

    let stateCopy;

    switch (action.type) {
        case 'ADD_POST':
            let newPost = {
                id: 5,
                message: action.postBody,
                likesCount: 0
            };

            return stateCopy = {
                ...state,
                newPostText: '',
                posts: [...state


E).stream();
      }).collect(Collectors.toList());
   }

   @Nullable
   public static Container getContainerAt(Level p_59391_, BlockPos p_59392_) {
      return getContainerAt(p_59391_, (double)p_59392_.getX() + 0.5D, (double)p_59392_.getY() + 0.5D, (double)p_59392_.getZ() + 0.5D);
   }

   @Nullable
   private static Container getContainerAt(Level p_59348_, double p_59349_, double p_59350_, double p_59351_) {
      Container container = null;
      BlockPos blockpos = BlockPos.containing(p_59349_, p_59350_, p_59351_);
      BlockState blockstate = p_59348_.getBlockState(blockpos);
      Block block = blockstate.getBlock();
      if (block instanceof WorldlyContainerHolder) {
         container = ((WorldlyContainerHolder)block).getContainer(blockstate, p_59348_, blockpos);
      } else if (blockstate.hasBlockEntity()) {
         BlockEntity blockentity = p_59348_.getBlockEntity(blockpos);
         if (blockentity instanceof Container) {
            container = (Container)blockentity;
            if (container instanceof ChestBlockEntity && block instanceof ChestBlock) {
               container = ChestBlock.getContainer((ChestBlock)block, blockstate, p_59348_, blockpos, true);
            }
         }
      }

      if (container == null) {
         List<Entity> list = p_59348_.getEntities((Entity)null, new AABB(p_59349_ - 0.5D, p_59350_ - 0.5D, p_59351_ - 0.5D, p_59349_ + 0.5D, p_59350_ + 0.5D, p_59351_ + 0.5D), EntitySelector.CONTAINER_ENTITY_SELECTOR);
         if (!list.isEmpty()) {
            container = (Container)list.get(p_59348_.random.nextInt(list.size()));
         }
      }

      return container;
   }

   private static boolean canMergeItems(ItemStack p_59345_, ItemStack p_59346_) {
      return p_59345_.getCount() <= p_59345_.getMaxStackSize() && ItemStack.isSameItemSameTags(p_59345_, p_59346_);
   }

   public double getLevelX() {
      return (double)this.worldPosition.getX() + 0.5D;
   }

   public double getLevelY() {
      return (double)this.worldPosition.getY() + 0.5D;
   }

   public double getLevelZ() {
      return (double)this.worldPosition.getZ() + 0.5D;
   }

   private void setCooldown(int p_59396_) {
      this.cooldownTime = p_59396_;
   }

   private boolean isOnCooldown() {
      return this.cooldownTime > 0;
   }

   private boolean isOnCustomCooldown() {
      return this.cooldownTime > 8;
   }

   protected NonNullList<ItemStack> getItems() {
      return this.items;
   }

   protected void setItems(NonNullList<ItemStack> p_59371_) {
      this.items = p_59371_;
   }

   public static void entityInside(Level p_155568_, BlockPos p_155569_, BlockState p_155570_, Entity p_155571_, HopperBlockEntity p_155572_) {
      if (p_155571_ instanceof ItemEntity && Shapes.joinIsNotEmpty(Shapes.create(p_155571_.getBoundingBox().move((double)(-p_155569_.getX()), (double)(-p_155569_.getY()), (double)(-p_155569_.getZ()))), p_155572_.getSuckShape(), BooleanOp.AND)) {
         tryMoveItems(p_155568_, p_155569_, p_155570_, p_155572_, () -> {
            return addItem(p_155572_, (Item


्ट._अक्टो._नोभे._डिसे.".split("_"),monthsParseExact:!0,weekdays:"आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार".split("_"),weekdaysShort:"आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.".split("_"),weekdaysMin:"आ._सो._मं._बु._बि._शु._श.".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"Aको h:mm बजे",LTS:"Aको h:mm:ss बजे",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, Aको h:mm बजे",LLLL:"dddd, D MMMM YYYY, Aको h:mm बजे"},preparse:function(a){return a.replace(/[१२३४५६७८९०]/g,function(a){return vh[a]})},postformat:function(a){return a.replace(/\d/g,function(a){return uh[a]})},meridiemParse:/राति|बिहान|दिउँसो|साँझ/,meridiemHour:function(a,b){return 12===a&&(a=0),"राति"===b?a<4?a:a+12:"बिहान"===b?a:"दिउँसो"===b?a>=10?a:a+12:"साँझ"===b?a+12:void 0},meridiem:function(a,b,c){return a<3?"राति":a<12?"बिहान":a<16?"दिउँसो":a<20?"साँझ":"राति"},calendar:{sameDay:"[आज] LT",nextDay:"[भोलि] LT",nextWeek:"[आउँदो] dddd[,] LT",lastDay:"[हिजो] LT",lastWeek:"[गएको] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%sमा",past:"%s अगाडि",s:"केही क्षण",m:"एक मिनेट",mm:"%d मिनेट",h:"एक घण्टा",hh:"%d घण्टा",d:"एक दिन",dd:"%d दिन",M:"एक महिना",MM:"%d महिना",y:"एक बर्ष",yy:"%d बर्ष"},week:{dow:0,doy:6}});
//! moment.js locale configuration
//! locale : Dutch (Belgium) [nl-be]
//! author : Joris Röling : https://github.com/jorisroling
//! author : Jacob Middag : https://github.com/middagj
	var wh="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),xh="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),yh=[/^jan/i,/^feb/i,/^maart|mrt.?$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],zh=/^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr